Reparar Bases de Datos

He visto tus respuestas y pienso que me puedes ayudar pues estoy teniendo un problema repetitivo de rotura de nuestra base de datos.
Nuestro sistema se compone de:
UN SERVIDOR: W2000 SERVER. OFFICE 2000
40 puestos de los cuales 15 utilizan la misma base de datos access 5 de estos puestos tienen access 97 y 10 access 2000.
Hemos programado mediante los formularios y la aplicación tiene 20 tablas, 60 formularios y 40 consultas.
En bastantes ocasiones hay tres o cuatro personas trabajando sobre el mismo formulario incluyendo registros nuevos o modificando.
El problema que nos esta ocurriendo es que (en unos casos) el usuario recibe un mensaje indicando que no existe tal tabla y acto seguido que es necesario reparar la base de datos (y en otros) directamente que la tabla necesita ser reparada.
Normalmente (3 o 4 veces al día )es posible reparar la base de datos pero ya ha ocurrido dos veces que no ha sido posible abrirla para repararla.
No se si sera también importante decirte que el fichero que genera *. Ldb se queda a veces aun sin estar ningún usuario en la aplicación. (A veces hasta que no he reiniciado el servidor no he podido eliminarlo)
TaMBién comentarte que en el servidor tenemos una conexión a 1 gb y otra a 100 MB, con una team. A veces algunos usuarios tienen una cruz en las unidades mapeadas de red, pero la conexión esta perfecta.
Si necesitaras algún dato más no dudes en preguntarme por favor, te he dado datos que no se si te son de ayuda o no, pero es por si puede tener alguna conexión.

1 respuesta

Respuesta
1
Antes de llegar a las conclusiones, por favor, contéstame a estas preguntas:
¿Los fallos se en los puestos de trabajo, se producen independientemente de la versión de Access que tienen instalada, o fallan más las ver 97 que las 2000 de Access?
¿Los fallos se producen siempre con la misma tabla?
En el formulario donde falla la tabla, ¿Utilizáis código VB para acceder a los datos o es un formulario normal de Access?
¿Están instalados todos los controladores ODBC o ADO en todos los puestos?
¿La base de datos a la que acceden esos 15 puestos es 97 o 2000?
De momento no te puedo ayudar mucho, espero tus respuestas, aunque me decanto por los típicos errores de permisos y algunas incompatibilidades entre versiones.
Hola query:
Siento haberme equivocado antes, no tenemos ningún puesto con office 97, todos los que acceden al mdb son office 2000. Lo que hay es 2 o tres puestos con Windows NT, y el resto W2000.
No se si el fallo es siempre con la misma tabla, ya que solo me da el error de "La base de datos debe ser reparada".
Todos los formularios son de Access, en algunos hemos metido algo de VB, pero muy poco únicamente alguna sentencia como DoCmd.Requery.
En todos los equipos esta instalado el W2000 Professional, por lo que me imagino que tendrán todos los mismos controladores, pero me pierdo un poco con estos controladores, no se como comprobar si tengo los mismos en todos los puestos.
LLevamos ampliando esta aplicación desde hace 1 años aproximadamente, hasta hace 2 o 3 meses los usuarios que accedían a ella eran 4 o 5 personas como máximo, poco a poco este número ha ido incrementando hasta ahora que son unas 15.
Una de las veces que hoy hemos reparado la mdb, en el formulario principal no reconocía los botones, y se iba a la depuración de VB.
Con respecto a los permisos, no tenemos asignado ninguna política de permisos a la mdb. Esta está en un directorio al que pueden acceder todos con control total.
No se si seria interesante actualizar el office 2000 con algún SP.
De nuevo gracias, la verdad es que estamos un poco preocupados por la situación, y te agradecería enormemente cualquier ayuda que puedas ofrecerme.
Una de las últimas exlpicaciones que me has dado, me hace pensar que el problema posiblemente no reside en las versiones de Windows o las conexiones, más bien en que la aplicación y los datos lo tenéis en la misma .mdb.
Te recomiendo que en el servidor sólo este una .mdb con lo que son las tablas y en cada puesto cliente tengas una copia del programa con vínculos a las tablas del servidor.
Para poder dividir la base de datos en aplicativo y datos, utiliza la opción que tiene Access en wel menú Herramientas->Utilidades de la base de datos->Divisor de base de datos. Esta opción esta recomendada para entornos de trabajo multiusuario, lo que reduce enormemente el tráfico en la red.
Pruébalo y me cuentas.
Hola query:
Hoy en toda la mañana no ha sido necesario reparar la base de datos, no se si tendrá algo que ver que ayer por la tarde copie las tablas y los formularios y consultas a otra mdb y luego la renombre.
Me parece muy buena idea lo que me has dicho de separar las tablas. Hoy y mañana me va a ser imposible hacerlo, pero la semana próxima con seguridad lo hago y te comento.
De nuevo GRACIAS.
¿Has conseguido probar la separación de la .mdb en aplicativo por un lado y datos por otro?
Hola query,
Perdona que no te haya contestado antes, hasta el viernes no pude hacer la división de las bases de datos, pero me sigue dando el mismo error "La base de datos necesita ser reparada".
Lo que hago es borrar el fichero .ldb que a veces se queda aunque no haya nadie en la aplicación y reparo la base de datos.
¿Tienes alguna otra idea de lo que le puede ocurrir?
Saludos.
Disculpa por no haberte contestado, pero es que por estas fechas estoy muy liado.
Suponiendo que la parte de la mdb que representa el aplicativo la tengas copiada en cada uno de los puestos de los clientes (que no accedan todos a la misma mdb dividida del servidor puesto que estaríamos en las mismas), y te sigue mostrando el mismo error, no encuentro otras opciones para probar lo único que debe de ser ya cosa del propio W2000.
Lo siento :-(
Hola Query:
Teníamos el acceso a la misma aplicación mdb. Ya la hemos copiado en varias. Ahora ya no se nos rompe la base de datos.
Muchísimas gracias por tu ayuda.
Un saludo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas