mdb se corrompe

Dudas sobre cualquier tema relacionado con Access que no tenga cabida expresa en los otros hilos
ignacio.millan
Nivel 1
Mensajes: 2
Registrado: Lun Abr 08, 2019 11:05 pm

mdb se corrompe

Mensajepor ignacio.millan » Mar Ago 11, 2020 4:10 pm

He detectado que la base de datos se corrompe con mucha facilidad en un entorno de multiusuario (10 usuarios), he revisado en los momentos en los que ocurre, tras generar un archivo pdf y enviar un correo.

La secuencia completa sería, Registro nuevo, relleno el registro, genero un informe, guardo este como pdf, envío un correo al usuario que lo ha solicitado el informe. Enseño un mensaje diciendo que esta enviado y muestro el informe de nuevo para que lo vea el usuario. Tras cerrar el informe en muchas ocasiones pierde la conexión con la base de datos (todos los campos salen con interrogantes) y ya no puede entrar dice que la base de datos esta corrompida. Todo el mundo tiene que salir de la base de datos, tengo que repararla y ya pueden entrar todos...

Lo raro es que a los que pilla dentro les sigue dejando trabajar, pero a los que pilla fuera, incluido al usuario que le ha dado el error, no pueden entrar hasta que se recupera la base de datos, si alguien sale, lo mismo, no puede entrar. Los demás siguen trabajando.

La tarea que ha realizado el usuario última, esta correcta, el archivo generado, el correo enviado, etc... Pero pierde la conexión. He puesto un guardar registro en los sitios que podría ser problemático (DoCmd.RunCommand acCmdSaveRecord), tras rellenar los datos, para que el registro se guarde y la acción de varios usuarios creando registros nuevos no corrompa la ejecución del programa. También he revisado la base de datos, he rellenado todos los campos bien, fechas, campos numéricos con dígitos fijos. Borrado registros en blanco que pudieran interferir..... He generado una nueva base de datos (archivo) pero tampoco esta resultando una solución. Puedo enviar la base de datos si lo veis necesario. Pero no encuentro que puede estar pasando. La base de datos es critica, porque los certificados que expedimos son para las ITV de toda España.... No se si es posible que me digáis por donde tirar o ver que esta pasando....

imillan
Nivel 1
Mensajes: 10
Registrado: Mié Dic 21, 2016 4:15 pm

Re: mdb se corrompe

Mensajepor imillan » Vie Ago 14, 2020 5:02 pm

Hola mas datos.... Me manda la ayuda a esta pagina: https://docs.microsoft.com/es-es/office ... chm5003343)%3Bk(TargetFrameworkMoniker-Office.Version%3Dv16)%26rd%3Dtrue

No se reconoce el formato de base de datos . (Error 3343)
Causas posibles:
:: El nombre de archivo especificado no es una base de datos del motor de base de datos de Microsoft Access.
:: El nombre de archivo especificado es un nombre de dispositivo, por ejemplo una impresora o una consola.
:: El archivo de base de datos tiene información de encabezado no válida o un criterio de ordenación desconocido.
:: Hay una confirmación pendiente de otros usuario pero no se encuentra el archivo de bloqueo.
:: Durante una confirmación, intenta escribir un valor de tipo Long que es mayor que el tamaño máximo de página de 2 K.

:: La base de datos está dañada. Compacte la base de datos e intente abrirla de nuevo.

No se si alguien me puede ayudar con estos temas de gestión o a quien puedo recurrir..... Gracias por vuestra ayuda.
Adjuntos
ErrorAccess.JPG

DaniLopez1991
Nivel 4
Mensajes: 95
Registrado: Lun Sep 23, 2019 2:12 pm

Re: mdb se corrompe

Mensajepor DaniLopez1991 » Mié Sep 09, 2020 10:09 am

A mi esto me pasaba y era porque en una de las reparaciones, los indices de la tabla se han corrupto y se habian desaparecido, sus claves foraneas, indices y incluso su clave principal por suerte tenia bakcups donde podia CONSULTAR los indices que tenia la tabla y pude vovler a ponerlos. Pero al perder indices y claves cuando haces un registro nuevo la BD rebienta y tienes que volver a reparar... ETC.

Mirate porque Acces te dice que esta todo bien al reparar y que mires las tablas a ver si realmente estan bien porque pasa esto... Que alguna tabla puede perder informacion al reparar pero supongo que en tu caso igual que en el mio no hay 10 tablas sino cientos... entonces no puedes ponerte a mirar una por una....

Ya me dirás algo!!

Saludos

imillan
Nivel 1
Mensajes: 10
Registrado: Mié Dic 21, 2016 4:15 pm

Re: mdb se corrompe

Mensajepor imillan » Vie Sep 11, 2020 12:49 pm

Pero sin embargo se tira tres días seguidos in errores y de repente, otra vez sucede....

No obstante es solo una tabla y por tanto si me das mas datos revisaré que puede ser. Como siempre toy solo en el departamento y lo miraré cuando sea posible... Pero responderé a las ayudas que me podáis mandar. Decirme donde mirar y yo lo intentaré reparar. Mis usuarios os estarán siempre agradecidos, han prometido cervezas....

DaniLopez1991
Nivel 4
Mensajes: 95
Registrado: Lun Sep 23, 2019 2:12 pm

Re: mdb se corrompe

Mensajepor DaniLopez1991 » Lun Sep 14, 2020 9:41 am

Sin ser sql server, cuando ACCES repara la BD te pone un mensaje como:

Compruebe que las tablas y las relaciones están bien ...bla...

Creo que lo hace porque ya saben que a veces no se repara bien. A mi lo que me pasaba es que EN UNA DE ESTAS REPARACIONES, se me perdieron los indices de la tabla y las PK, entonces cuando seguia usando la tabla y hacia algún nuevo registro, un update, se me dañaba la base de datos otra vez...

[SOLUCIÓN]
Lo que hize yo fue mirar un backup de mi BD antigua y mirar las tablas COMO ESTABAN DISEÑADAS cuales eran sus indices sus claves principales y sus relaciones con otras tablas y luego fui a la BD y lo puse tal y como ponia la BD de backup y así se me dejo de romper.
Tambien lo que va bien es vaciar un poco las tablas que esten muy llenas y asi ganas en velocidad.

Saludos

imillan
Nivel 1
Mensajes: 10
Registrado: Mié Dic 21, 2016 4:15 pm

Re: mdb se corrompe

Mensajepor imillan » Lun Sep 14, 2020 10:20 am

He revisado la tabla:

La tabla se llama Certificados,

Tiene un campo Id que es autonumérico entero largo incremental, no tiene ningún campo como clave principal. El resto de campos son texto de longitud 100, un campo Memo, otro campo entero largo, uno de fecha y dos de los campos que son texto tienen máscara, uno de ellos requerida, porque sin bastidor no se puede hacer el certificado.... Por lo que es difícil reparar lo que me estas diciendo.

He revisado los datos y solo faltan algunos datos en las mascaras, los cuales repongo lo antes posible por si fuera este campo el que da problemas.... Pero los campos Id están todos rellenos, los campos bastidor o fecha están todos rellenos, tras la reparación no veo faltas en ningún registro....

DaniLopez1991
Nivel 4
Mensajes: 95
Registrado: Lun Sep 23, 2019 2:12 pm

Re: mdb se corrompe

Mensajepor DaniLopez1991 » Lun Sep 14, 2020 10:34 am

No es que falten registros esque los indices y la PK no estaran bien, si me dices que el no tiene PK y tienes un campo ID AUTONUMERICO eso debería ser la PK, y lo habras perdido. Igualmente es una idea que tengo ya que no se como tienes diseñada la tabla, pero vamos no diseñas un ID AUTONUMERICO porque si, el 99% de las veces es para que sea la PK de la tabla.

Igualmente te repito, no tienes un BACKUP donde puedas SOLO ENTRAR a mirar las tablas? en concreto esa tabla, miras el diseño y compruebas que realmente tenía el ID como PK? Osea no te digo que restaures el backup sino que te sirva como consulta de como estaba diseñada la BD, igualmente cuando haces una reparación se te crea una BD de copia de seguridad mirate alguna de las primeras a ver si ahi aún conservabas alguna PK que no tengas ahora.

Saludos.

imillan
Nivel 1
Mensajes: 10
Registrado: Mié Dic 21, 2016 4:15 pm

Re: mdb se corrompe

Mensajepor imillan » Lun Sep 14, 2020 10:53 am

Ok, estoy en producción. Cambio ese datos en la tabla y la vuelvo a poner en producción, y espero respuesta. Voy viendo..... y te digo....

imillan
Nivel 1
Mensajes: 10
Registrado: Mié Dic 21, 2016 4:15 pm

Re: mdb se corrompe

Mensajepor imillan » Lun Sep 14, 2020 4:43 pm

Hola he intentado cambiar y darle a este campo la propiedad de PK, me dice que tengo datos duplicados. He borrado esos datos duplicados, para que me lo permita.

Ahora estamos trabajando así con PK, meteré mas adelante esos 9 registros con un Id diferente para que tenga la base de datos completa y el campo Id cumpla sus condiciones. Espero que esto haga que la base de datos deje de corromperse.... Gracias por la ayuda. Espero que esta sea la solución.... Os digo en unos días.... Sigo el hilo...


Volver a “Cajón de sastre”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado