¿Cómo compactar y reparar automáticamente?

¿Tengo la siguiente inquietud como hago para programar en la base de datos que se compacte y repare automáticamente cuendo se produzca un error..?
1

1 Respuesta

90.125 pts. Ingeniero en Informatica (5 años) Ingeniero Técnico en...
No puedes. Y dicho esto, existen otras alternativas.
A partir del access 2000 tienes una opción en Herramientas/Opciones/General para compactar la base de datos cuando salga el último usuario que la esté usando. Esto facilita el evitar errores, pues periódicamente se compactará. Pero puede provocar protestas de lentitud por parte del último que se vaya a las tres...
O bien, si tienes la base de datos en un servidor que se queda encendido fuera del horario de trabajo, puedes crearte un fichero compacta.bat que dentro ponga
copy sisber.mdb precomp.mdb
del sisber.mdb
"C:\Archivos de programa\JetCompact\jetcomp" -src:c:\sisber\precomp.mdb -dest:c:\sisber\sisber.mdb
Se puede hacer también llamando con línea de comandos al Access, tiene una opción para compactar, pero yo he utilizado aquí el jetcompact, también de microsoft y bastante más robusto y rápido. La puedes encontrar en
http://support.microsoft.com/default.aspx?scid=kb;en-us;273956
Copio la bdd a un temporal, borro la original y compacto desde la copia al original.
Y ahora el truco está en crearte una tarea programada de windows que ejecute el fichero bat todos los días a las 15:30 y a las 20:30, con lo que tienes dos compactaciones diarias fuera de horario y que no frenan a los usuarios.
Como prevención de errores, no va mal. Lo digo por experiencia.
Hola mil gracias por contestarme.. ¿pero cómo hago para crera ese fichero? ¿Y esta instrucción donde la copio? copy sisber.mdb precomp.mdb
del sisber.mdb
"C:\Archivos de programa\JetCompact\jetcomp" -src:c:\sisber\precomp.mdb -dest:c:\sisber\sisber.mdb
¿Sisber seria en ese caso mi base de datos cierto?
Espero no desesperarte pero es que soy nueva en muchas cosas,
Mil gracias
Hola yo de nuevo ... :) ¿Pero ese JetCompact debo bajarlo es una aplicación o un utilitario o sólo una instrucción?
Hola.. estoy desesperada.. ¿tienes messenger o un correo donde te pueda contactar..? El mio es [email protected] o mi correo [email protected] .. ¿me ayudas si?
Tranquila, relajate, tomate una tila... ;-)
Abre un explorador de Windows, te sitúas en C:, y haces Archivo/Nuevo/Documento de texto. Windows te crea un fichero en blanco con extensión .txt. Le cambias el nombre a compacta.bat (debes tener activa la opción de ver las extensiones de archivo). Te pedirá confirmación para cambiar la extensión.
Cuando lo tengas, le das con el botón derecho y eliges Editar. Se te abrirá el notepad, o el wordpad, bueno, el editor de texto que tengas. Ahí debes pegar las famosas instrucciones. Yo te las he puesto con el directorio y el nombre de una base de datos mía, como ejemplo. Cámbialos por la tuya. Y guarda el fichero.
c:\archivos de programa\jetcompact\jetcomp es un programita de microsoft que debes descargar e instalar desde la dirección web que te he indicado. El proceso es sumamente simple. Te pedirá el directorio donde quieres que se instale, por defecto creo que era el que he puesto. Si no es así, modifica la línea famosa.
En esta situación, puedes ejecutar el fichero compacta.bat (haciéndole doble click desde el explorador), lo que abrirá una ventana de MSDOS donde irá poniendo y ejecutando cada línea. Se supone que la línea del jetcomp debe funcionar y debes notar que hace una pequeña pausa mientras compacta la base de datos.
Si es así, te queda el último paso, que es hacer que esto se ejecuta automáticamente. Para ello debes usar el programador de tareas de windows, que se encuentra en el panel de control. Dependiendo de la versión de Windows que tengas, y de cómo esté configurado, se hace de una manera u otra, y no me las se de memoria. Tendrás que probar. La idea es que le indiques las horas a las que se debe ejecutar, le digas que lo haga todos los días, y que el fichero a ejecutar es c:\compacta.bat.
Si lo consigues, tienes una opción en la tarea que es para ejecutarla ya. Pruébala hasta que consigas que funcione como cuando ejecutaste el fichero directamente. También puedes probar a cambiar la hora de la tarea a la hora en que estés haciendo esto más un minuto, así te esperas un momento y ves si funciona correctamente.
Bueno, es increíble lo largo que puede ser explicar en texto lo que se hace en quince segundos con unos cuantos clicks. Suerte, y al toro.
Hola mil gracias por tener tanta paciencia conmigo ya entendí todo pero quisiera saber en donde tengo que reemplazar en las instrucciones que me enviaste ...
copy sisber.mdb(Mi BDcierto??) precomp.mdb (aqui por que la reemplazo?)
del sisber.mdb (Mi BDcierto??)
"C:\Archivos de programa\JetCompact\jetcomp" - (esta ruta ya la cree)src:c:\sisber\precomp.mdb - (aqui por que la reemplazo?)
dest:c:\sisber\sisber.mdb (aqui por que la reemplazo?)
Espero no te desesperes...
Mil Gracias:))
copy <tu base de datos> <basededatostemporaldondequieras>
del <tu base de datos>
"C:\Archivos de programa\JetCompact\jetcomp" src:<base de datos temporal> dest:<tu base de datos>
Lo que se hace es crear una copia, borrar la original, y compactar desde la copia dejando el resultado en su sitio original

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas