Visual Basic - una dudilla, urgente

Life is soft - evento anual de software empresarial
 
Vista:

una dudilla, urgente

Publicado por Nuria Montoro (6 intervenciones) el 02/07/2002 14:15:56
Mi duda es que me han encargado realizar un programa de gestión. El problema es que el programa va a funcionar en red y las bases de datos se encuentran en un solo ordenador. Son en total 5 ordenadores en red. Y os queria preguntar que es mejor: crear un programa tradicional, es decir , que va a estar alojado en el ordenador de las bases de datos y que los otros ordenadores accedan a ese ordenador para ejecutar el programa, o bien , realizar una aplicacion cliente-servidor, en el que en 4 ordenadores estará el programa cliente y el programa servidor esté en el de las bases de datos ¿Cual de los dos metodos me causará mas problemas a la hora de que pueda haber conflictos cuando mas de un usuario acceda o intente actualizar el mismo registro a la vez?

Y en el caso de que lo mejor sea un cliente/servidor, ¿que funciones haría cada programa?

Necesito vuestra ayuda, por favor, es urgente, tengo que decidirlo ya. Muchas gracias por vuestra ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:una dudilla, urgente

Publicado por sinatra (24 intervenciones) el 02/07/2002 14:46:10
Indudablemente tienes que analizar dos cosas:
1. Si el programa que accede a la BDD es uno solo y está alojado en el mismo servidor que la BDD, tendrás que compartir una carpeta en ese servidor y por lo tanto, estás dejando un hueco de seguridad. A lo mejor eso no es un gran problema en tu caso.
2. Si el programa que accede a la BDD está en las máquinas cliente, y la BDD en un servidor aparte, puedes:
a) tener la base de datos en un directorio compartido (que repite el problema de seguridad)
b) tener un SQL server a través del cual se acceda a la BDD que elimina el hueco de seguridad más grave que es compartir la BDD.

En los tres casos puedes implementar el programa de modo que los clientes accedan a la vez a una misma tabla y modifiquen filas aleatoriamente. El problema está en el modo de bloqueo que emplees a la hora de abrir la tabla y a la hora de actualizarla.

Yo optaría por tener un SQL server con la base de datos y acceder a él desde un programa instalado en cada ordenador.

El modo de bloqueo lo pruebas después de implementar el programa. Lo instalas en dos máquinas y comienzas a actualizar un registro. Sin haber terminado la edición, en la segunda máquina editas el mismo registro, y cierras la tabla. En el primer ordenador intentas terminar la edición y te provocará un error.
Esos son los errores que tienes que ir controlando. Cuando te de un error querrá decir que otro usuario ya lo editó, de modo que tendrás que hacer un CancelUpdate y re-leer todo el recordset, ubicándote de nuevo en el registro editado (o en los adyacentes en caso de que hubiera sido borrado).
Yo creo tengo un ejemplo por ahí. Si quieres te lo m
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar