Conexcion de Visual Basic 6.0 con Access en RED
Hola Que tal, lo que pasa es que implemente un Programa hecho en Visual Basic 6.0 con Access en red, en tres maquinas( 1 Servidor, 2 maquinas como clientes , todas tienen Win98),pero me sigue saliendo el mensaje "ERROR EL ARCHIVO YA ESTA SIENDO USADO", es decir el programa no se puede usar a la vez en las tres pc's, no se si la conexion que uso lo abre de modo exclusivo, es esta......no se si alguien de uds. tiene una conexion que no tenga problemas para trabajar en red.
Bueno espero contar con tu ayuda...te agradezco te antemano...
Saludos.
Christian.
Bueno espero contar con tu ayuda...te agradezco te antemano...
Saludos.
Christian.
No es problema de lo del modo exclusivo, fisicamente nunca puedes tener exactamente en el mismo instante la base de datos con procesos de grabacion o borrados desde distintos pc´s, la solucion es un poco cutre pero efectiva.
Crea un campo en la bd que sirva para indicar si existe una conexion abierta y desde que ordenador se ha creado la conexion.
cada vez que conectes a la bd primero chequea este campo, si no hay conexion previa no hay problema en cambio si ya existe una conexion esperas a que el campo este de nuevo vacío...
espero que me hayas entendido y te sirva de algo.
:D
Crea un campo en la bd que sirva para indicar si existe una conexion abierta y desde que ordenador se ha creado la conexion.
cada vez que conectes a la bd primero chequea este campo, si no hay conexion previa no hay problema en cambio si ya existe una conexion esperas a que el campo este de nuevo vacío...
espero que me hayas entendido y te sirva de algo.
:D
Iko, lo que usted dice no es cierto. Yo he creado clientes multiusuario en Access y nunca he tenido ese problema, siempre y cuando los clientes abran en modo no exclusivo.
Los problemas a los que usted se refiere son problemas para el sistema operativo, y Windows sabe bien cómo resolverlos.
Los problemas a los que usted se refiere son problemas para el sistema operativo, y Windows sabe bien cómo resolverlos.
Estamos hablando varios puestos con clientes en Vb6 atacando a una misma base de datos...
Ese mismo problema lo he tenido yo y por mucho modo no exclusivo si varios equipos atacan AL MISMO TIEMPO a la bd da problemas, se lo puedo asegurar y más si se trata de operaciones complejas que lleven mas de un par de segundos.
De todos modos no estamos aqui para desacreditar a los demas si no para ofrecer soluciones y aun no he visto su solución.
Ese mismo problema lo he tenido yo y por mucho modo no exclusivo si varios equipos atacan AL MISMO TIEMPO a la bd da problemas, se lo puedo asegurar y más si se trata de operaciones complejas que lleven mas de un par de segundos.
De todos modos no estamos aqui para desacreditar a los demas si no para ofrecer soluciones y aun no he visto su solución.
Iko:
Varios clientes conectan a una base de datos, pero la escritura de la misma se lleva a cabo por una sola computadora, no todas a la vez (la base de datos está en un solo disco duro). Microsoft Jet y OLE compound storage sincronizan la escritura de todos los clientes de forma que no haya problemas. Le recomiendo eche un vistazo a MSDN Online y lea acerca de Compound Storage para que se de cuenta de que un archivo compuesto puede ser accesado para lectura/escritura por multiples clientes.
La solución es asegurarse de que conecta a la base de datos de forma no exclusiva. Punto. Con DAO, esto se logra pasando un False como segundo parámetro a la instrucción OpenDatabase.
Mi comentario no tiene intención de desacreditarlo, pero parece ser una consecuencia inevitable.
Varios clientes conectan a una base de datos, pero la escritura de la misma se lleva a cabo por una sola computadora, no todas a la vez (la base de datos está en un solo disco duro). Microsoft Jet y OLE compound storage sincronizan la escritura de todos los clientes de forma que no haya problemas. Le recomiendo eche un vistazo a MSDN Online y lea acerca de Compound Storage para que se de cuenta de que un archivo compuesto puede ser accesado para lectura/escritura por multiples clientes.
La solución es asegurarse de que conecta a la base de datos de forma no exclusiva. Punto. Con DAO, esto se logra pasando un False como segundo parámetro a la instrucción OpenDatabase.
Mi comentario no tiene intención de desacreditarlo, pero parece ser una consecuencia inevitable.
