Aplicación cliente-servidor en ODBC

Somos dos programadores con poca experiencia en aplicaciones en red, y estamos desarrollando una aplicación cliente-servidor en visual basic 6.0 con una base de datos creada con Access.
Uno de los PC (el servidor), contiene la base de datos con la que operará cada uno de los PC cliente. De momento hemos conseguido hacer una conexión que no acaba de funcionar del todo bien. A continuación incluiré un fragmento del código (solo la parte referente a conexión):
Private Sub Form_Load()
'Abrir una conexión
Set cn = New ADODB.Connection
cn.Open "filedsn=c:\prueba"
'prueba.dsn es como se llama
'el origen de datos
'Abrir un recordset
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseServer
rs.CursorType = adOpenDynamic
rs.LockType = adLockPessimistic
rs.ActiveConnection = cn
rs.Source = ("select * from tabla")
rs.Open
End Sub
'la siguiente funcion es la que trata las modificaciones de registros
Private Sub Command6_Click()
While rs.EditMode <> adEditNone
DoEvents
Wend
For i = 1 To rs.Fields.Count - 1
rs.Fields(i).Value = Text1(i).Text
Next i
On Error GoTo tratarerror
rs.Update
Exit Sub
Tratarerror:
Rs. CancelUpdate
End Sub
Cuando intentamos modificar un registro de la base de datos al mismo tiempo, se produce una colisión, con lo cual aparentemente existe una conectividad multiusuario. Pero por otra parte, en el primer bucle de la función command6_click, (donde comprobamos si esta en modo de edición), nunca entra en el, por lo que parece que la conexión cliente-servidor no existe.
La gran duda que tenemos, es como especificar quien es el servidor, si esto hay que hacerlo a través de código, propiedades, fuera de la aplicación, etc., y como configurar quienes serán los clientes.

2 Respuestas

Respuesta
1
No se si has notado que cuando se abre una base de datos de access, dando doble click sobre el icono, la base se abre solo de modo exclusivo y cuando algún usuario intenta conectarse va a encontrar la base de datos bloqueada. Access en las opciones de configuración menu: Herramientas, opción opciones, tiene una pestaña llamada avanzadas, en el grupo de opciones llamada operaciones DDE habilita la opción habilitar la actualización DDE, y al frente hay otro grupo de opciones llamada modo predetermindo de apertura, asegurate de tener activo la opción compartido. Intenta correr de nuevo el código, de no funcionar, en los parámetros de conexión puedes activar manualmente estas opciones pero en este momento se me escapa la forma de hacerlo.
Respuesta
1
Viejo mi especialidad es java y los sistemas operativos LINUX.
Pero cuando hagas las pruebas sierra la base de datos en access ya que de lo contrario se presentara este problema

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas