Dudas sobre la capacidad de Access 97

Tengo una aplicación para bases de datos desarrollada con Visual Basic Enterprise Edition v.5.0 que utiliza archivos de Access 97 por medio del ODBC32.
Esta aplicación es un programa ejecutándose en una PC con Windows 95 como sistema operativo las 24 horas. De día... Es un cajero automático. El cajero se utiliza para pagar la nómina de más 2000 empleados de una empresa maquilladora. Corrección: son 6 cajeros conectados en red, uno de ellos concentra la base de datos y la comparte a los demás.
Sucede que al cobrar unos 800 a 900 empleados su sueldo el sistema (mi aplicación y todo el Windows) pierden recursos... Ocurre un "out of memory" (error que devuelve el Visual Basic) y el sistema ya no se puede utilizar... Tengo que reiniciar el sistema "reseteando" la PC. Cabe mencionar que para cada pago de un empleado se tiene que leer entre 5 a 8 registros correspondientes todos al mismo empleado en una tabla de alrededor de 16000 registros en total.
¿Qué está ocurriendo aquí? ¿Por qué se pierden dramáticamente los recursos? ¿Será qué Access 97 no es capaz de soportar debidamente operaciones con altos volúmenes de registros?
Respuesta
1
Las posibilidades de Access son tremendas como base de datos relacional, eso si hay que tener en cuenta, que es catalogada por Microsoft como una base de datos de escritorio, y cuando comienzas a darle marcha con múltiples accessos (multiusuario) y la base de datos comienza a crecer, los problemas empiezan a surgir.
Microsoft recomienda, reparar y compactar la base de datos frecuentemente, y también de fragmentar el disco duro a menudo.
Pero la solución más efectiva es plantearse la migración a Sql.
Teniendo en cuenta que estas trabajando con ODBC32, no creo que te plantee muchos problemas el analizar el traspaso.
Ademas, existe la versión mdac en Office que aunque es más reducida que la versión total de sql, te puede permitir hacer pruebas en tu desarrollo.
Yo personalmente, he migrado en mi empresa, por un problema similar al tuyo, donde los accesos de 25 usuarios, a una base de datos de más de 400 megas, me estaba volviendo loco, y al final, con sql hemos solucionado todos los problemas.
Debes tener en cuenta que con sql, el uso del motor jet cambia de aplicativo, teniendo que utilizar ADO, en lugar de DAO.
Bueno sí que me han sido útiles tus comentarios, y sobre todo para convencerme de que Access es buena sólo como un DBMS de escritorio. Y me ha servido más tu comentario para convencerme de que es necesario migrar a un server de SQL.
Muchas gracias. :)
Un Saludo.
José Padilla Duarte.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas