Error 3239 (Demasiados usuarios activos) Access
En una aplicación de VB6 contra Access 97, empleando ADO a través de OLE DB, cuando hacemos pruebas de acceso masivo nos sale el eror de Access 3239 Demasiados Usuarios Activos
He cosultado los errores de Access y parece que no se pueden lanzar más de 255 peticiones al mismo tiempo, y la solución que propone es esperar y volver a lanzar la petición, Si alguien ya ha tenido este mismo problema, espero que me cuente que solución adoptó.
Muchas gracias
He cosultado los errores de Access y parece que no se pueden lanzar más de 255 peticiones al mismo tiempo, y la solución que propone es esperar y volver a lanzar la petición, Si alguien ya ha tenido este mismo problema, espero que me cuente que solución adoptó.
Muchas gracias
Realmente llegas a superar los 255 usuarios ??
Se supone que el acceso a una Base de Datos debe de realizarse en una unidad logica y que esta debe de ser lo mas pequeño posible.
Habria que ver si Sistema requiere mantener las conexiones abiertas o si estas pueden cerrarse.
Pasos:
Function DBAccess(Conn, SqlTxt) as Boolean
On Error GoTo DBAccess_Err
DBAccess = True
1) Abrir la Conexion a la Base de Datos
2) Ejecutar el comando SQL deseado
3) Cerrar la Conexion con la Base de Datos
Exit Function
DBAccess_Err:
DBAccess = False
MsgBox "ERROR en la Funcion DBAccess"
End Function
Estos tres pasos no deberían durar mas de unos segundos, liberando de esta forma el uso de la Base de Datos rapidamente.
Nota: No importa cuantos usuarios al mismo tiempo puede soportar la Base de Datos, independientemente si es MsAcces, SqlServer, MySql u otra. Lo que no es aconsejable es mantener una conexión con la Base de Datos desde que se inicia el programa hasta que finaliza el mismo. Lo que es saludable es realizar los tres pasos anteriormente mencionados en una unidad logica lo mas pequeña posible.
Se supone que el acceso a una Base de Datos debe de realizarse en una unidad logica y que esta debe de ser lo mas pequeño posible.
Habria que ver si Sistema requiere mantener las conexiones abiertas o si estas pueden cerrarse.
Pasos:
Function DBAccess(Conn, SqlTxt) as Boolean
On Error GoTo DBAccess_Err
DBAccess = True
1) Abrir la Conexion a la Base de Datos
2) Ejecutar el comando SQL deseado
3) Cerrar la Conexion con la Base de Datos
Exit Function
DBAccess_Err:
DBAccess = False
MsgBox "ERROR en la Funcion DBAccess"
End Function
Estos tres pasos no deberían durar mas de unos segundos, liberando de esta forma el uso de la Base de Datos rapidamente.
Nota: No importa cuantos usuarios al mismo tiempo puede soportar la Base de Datos, independientemente si es MsAcces, SqlServer, MySql u otra. Lo que no es aconsejable es mantener una conexión con la Base de Datos desde que se inicia el programa hasta que finaliza el mismo. Lo que es saludable es realizar los tres pasos anteriormente mencionados en una unidad logica lo mas pequeña posible.
Tengo otra duda que consultarte, y es si puede deber al empleo de transacciones.
Muchas gracias
Muchas gracias
Gracias por tu ayuda, pero tengo una duda, nunca he trabajado de la forma que mencionas, y se me hace muy raro pensar en abrir y cerrar la conexión a la BBDD cada vez que necesito cargar un combo, o un grid ... y además creo que esta forma me impediría tener controles enlazados, tal vez se pueda tener una conexión permanente para carga de combos y demás controles, y hacer estos tres pasos que dices cada vez que lanzemos un EXECUTE a la BBDD por parte del usuario.
Te agradecería que volvieras a responder.
Gracias anticipadas
Te agradecería que volvieras a responder.
Gracias anticipadas
