Problema al restaurar base de datos
Hola Grupo, ojala alguien me pueda ayudar, tengo una aplicacion en la
cual como toque final al cerrarla quiero que haga un backup y un restore de la base de datos para quitar toda la basura que genera ya que uso
commitretaining para que no cierre los datasets, todo marcha bien en
las pruebas pero ya en la practica me sale el siguiente error al
correr el codigo del restore:
*****
Project tintorerias.exe raised exception class EIBInterBaseError with
message 'lock time-out on wait transaction
object C:\TINTORERIA_BASEDATOS\TINTORERIA_LOCAL.GDB is in use
could not drop database C:\tintoreria_basedatos\TINTORERIA_LOCAL.GDB
(database might be in use)'. Process stopped. Use Step or Run to
continue.
*****
Me imagino que es porque queda algo abierto en la base de datos y piensa que se pueden coorromper los datos, pero
antes de hacer esto segun yo cierro la base de datos y la transaccion
con las siguientes instrucciones:
DM_ServidorDatos.IB_TR_Tintoreria.Commit;
DM_ServidorDatos.IB_TR_Tintoreria.Active := false;
DM_ServidorDatos.IB_DB_Tintoreria.CloseDataSets;
DM_ServidorDatos.IB_DB_Tintoreria.Connected := false;
Es raro poruqe aveces funciona bien y a veces no funciona y marca el
arror arriba señalado
Lei algo en internet de que hay que tener acceso exclusivo a la base de datos pero no se como hacer esto, nunca encontre esta referencia "chapter 14, Getting exclusive access to a database, of Using Firebird"
Auxilio
Saludos y gracias
AJ
__________________
Alejandro Jourdan
|