Visual Basic - Base de datos en red

Life is soft - evento anual de software empresarial
 
Vista:

Base de datos en red

Publicado por Dani (20 intervenciones) el 09/03/2001 16:50:13
Buenas

Mi problema es el siguiente. Tengo una aplicación que tiene que trabajar desde varios ordenadores sobre una misma base de datos. El problema esta en que cuando actualizo o borro algun registro, los cambios no se reflejan en todos los ordenadores, por lo que no puedo trabajar en tiempo real.

Igual me he liado un poco pero espero que alguien me pueda echar una manita. Gracias
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:Base de datos en red

Publicado por afogutu (321 intervenciones) el 09/03/2001 18:00:56
Hola Dani.

Corregime si lo que te anda pasando es lo siguiente. Desde visual basic tenés varios usuarios conectados a la misma base de datos. Tu problema es que pasa si mas de un usuario entra a la vez a modificar el mismo registro.

Si el problema que tenés es ese Depende de muchos factores que logres lo que andás buscando.

El dilema es que pasa si entran dos o mas usuarios a modificar el mismo registro. Para eso existen dos soluciones.

La pesimista que consiste en que solo un usuario pueda ingresar a modificar la tabla por vez. cuando otro usuario quiere entrar a modificarla le emite un error con el evento rs.edit -DAO- o cuando intenta modifcar un campo de un recordset -ADO-

La Optimista consiste en que dos o mas usuarios puedan ingresar a modificar el registro pero solo se lo permita modificar al primero que ejecute la sentencia rs.update. Para el resto les emitirá un error por el estilo "Los datos han sido modificados desde la ultima vez que ingresó".

En ambos casos con solo salvar el error y hacer un RS.REQUERY de los datos vas a tener actualizado el sistema.

Una posibilidad viable de tener los datos actualizados contantemente es tener una tabla dentro de la base con el nombre todos los nombres de las demas tablas y una columna si fué modificada o no. Y dentro de cada uno de los programas de las terminales corriendo una rutina preguntado si la pantalla que tenes abierta fué modificada dentro de la tabla por otro usuario.

Esto es una idea. Debe haber muchas formas mas.

Espero que te sirva.

Saludos Afogutu.
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

RE:Solucion final

Publicado por Dani (20 intervenciones) el 09/03/2001 18:14:03
Buenas

Al final lo he solucionado de una manera un poco chapucera pero va de muerte. En el cliente he hecho una tabla vinculada a la base de datos del servidor, de esta manera no hay conflictos de ninguna clase, aunque gracias por tus ideas.

Gracias y hasta otra
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