Dudas de principiante

08/02/2009 - 09:57 por mgdrgd | Informe spam
Que tal,

Vengo del desarrollo web durante muchos años (php) y siempre he
querido meterme en el desarrollo de aplicaciones de escritorio, así
que he dedicido empezar a hacer algun pinito...el caso es que me
surgen muchas dudas...

He instalado visual studio y desarrollo con c# (dado que es muy
similiar en cuanto a semantica a php). Me he puesto a hacer algún
formulario para acceder a una base de datos sql server compact edition
y ya empiezan mis dudas...

Si lo hago todo visualmente con el entorno visual no hay problemas y
puedo hacer un visor de detalle con el tabNavigator en 2 minutos, el
caso es que me pacere esta forma bastante limitada y con poco control
sobre lo que puedo necesitar.

Cuando compilo el programa veo que crea un archivo en formato xml
llamado nombrePrograma.exe y es un formato xml que incluye el path a
la bbdd. El caso es que si cambio esa ruta no hace nada...¿para que
vale entonces ese archivo?...la aplicación que estoy haciendo es muy
pequeñita, y la usarán 3 a lo sumo 5 personas...leí que la bbdd
compact permite hasta 250 conexiones, pero que lo mejor es no exceder
de 100. Mi idea sería instalar la aplicación en cada equipo y poder
leer el path a la base de datos desde un archivo externo. ¿alguna
ayuda?

Por otro lado, otra de mis dudas es la concurrencia, he leido y
supuestamente la bbdd es capaz de gestionarla, el caso es que si
instancio 2 ejecuciones del programa y creo por ejemplo 2 clientes sin
grabar, he visto que al pulsar guardar el primero lo ejecuta bien y el
segundo da error dado que tiene reservado el id que ya utilizó el
anterior. ¿alguna idea para guiarme? por cierto,¿por qué cada vez que
creo un nuevo registor en la base de datos el id autoincremental pone
-1,-2,-3 y lueog cuando lo guarda lo hace bien?

Siento esta parrafada, pero me sería de mucha ayuda un poco de
orientación a la hora de plantear un proyecto.
 

Leer las respuestas

#1 Alejandro Mezcua
10/02/2009 - 13:59 | Informe spam
Hola.

En cuanto al archivo XML supongo que te refieres al archivo
programa.exe.config ¿no? Ese archivo mantiene parámetros de configuración
que sirven como inicialización al programa. Puedes poner tus propios
parámetros ahí. Hay muchos sitios con información sobre cómo hacerlo, por
ejemplo:

http://www.developer.com/net/net/ar...hp/3396111

En cuanto a que tengas la ruta de la base de datos ahí, probablemente sea un
tema del Visual Studio pero si lo cambias y no lo actualiza, mira a ver si
la ruta está fijada en el código en algún sitio.

De todas formas, bajo mi punto de vista no es recomendable usar SQL CE para
hacer una aplicación multiusuario como la planteas, teniendo otras opciones
disponibles. Aunque permite hasta 255 conexiones simultáneas al archivo, SQL
CE no es "thread safe" de forma que te puedes encontrar con muchos problemas
difíciles de trazar si permite múltiples conexiones de múltiples usuarios.

Para el escenario que indicas, te recomendaría usar SQL Server Express en
lugar de SQL CE. SQL Server Express es gratuito y es, básicamente, el motor
de base de datos de SQL Server completo (eso significa que uno de los PCs
hará de servidor y ha de aceptar conexiones de red para permitir el acceso a
los datos, no se si eso te vale en tu caso).

http://www.microsoft.com/express/sql/default.aspx

Un saludo,

Alejandro Mezcua
MVP Device Application Development
http://www.byteabyte.net/


wrote in message
news:
Que tal,

Vengo del desarrollo web durante muchos años (php) y siempre he
querido meterme en el desarrollo de aplicaciones de escritorio, así
que he dedicido empezar a hacer algun pinito...el caso es que me
surgen muchas dudas...

He instalado visual studio y desarrollo con c# (dado que es muy
similiar en cuanto a semantica a php). Me he puesto a hacer algún
formulario para acceder a una base de datos sql server compact edition
y ya empiezan mis dudas...

Si lo hago todo visualmente con el entorno visual no hay problemas y
puedo hacer un visor de detalle con el tabNavigator en 2 minutos, el
caso es que me pacere esta forma bastante limitada y con poco control
sobre lo que puedo necesitar.

Cuando compilo el programa veo que crea un archivo en formato xml
llamado nombrePrograma.exe y es un formato xml que incluye el path a
la bbdd. El caso es que si cambio esa ruta no hace nada...¿para que
vale entonces ese archivo?...la aplicación que estoy haciendo es muy
pequeñita, y la usarán 3 a lo sumo 5 personas...leí que la bbdd
compact permite hasta 250 conexiones, pero que lo mejor es no exceder
de 100. Mi idea sería instalar la aplicación en cada equipo y poder
leer el path a la base de datos desde un archivo externo. ¿alguna
ayuda?

Por otro lado, otra de mis dudas es la concurrencia, he leido y
supuestamente la bbdd es capaz de gestionarla, el caso es que si
instancio 2 ejecuciones del programa y creo por ejemplo 2 clientes sin
grabar, he visto que al pulsar guardar el primero lo ejecuta bien y el
segundo da error dado que tiene reservado el id que ya utilizó el
anterior. ¿alguna idea para guiarme? por cierto,¿por qué cada vez que
creo un nuevo registor en la base de datos el id autoincremental pone
-1,-2,-3 y lueog cuando lo guarda lo hace bien?

Siento esta parrafada, pero me sería de mucha ayuda un poco de
orientación a la hora de plantear un proyecto.

Preguntas similares