Autor |
Mensaje |
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Sqlite: Database Is Locked ¿alquien Sabe Como Desbloquearla?
Trabajando con una base de datos Sqlite3, se me ha bloqueada, me sale el siguiente error:
"Database is locked", y no puedo ni borrar un registro, ni editar ni insertar,
¿que se puede hacer, para poder seguir trabajando con ella?
|
#1 Martes, 17 Enero 2012, 00:35 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Sqlite: Database Is Locked ¿alquien Sabe Como Desbloquearla?
Eso pueden ser varias cosas: desde una transacción incompleta a los permisos sobre el archivo. Como dices que ya habÃas trabajo con él, supongo que es una transacción. DeberÃa haberte funcionado al reiniciar la máquina... Si no ha sido asÃ, pues como que no tengo ni idea.
Ya nos cuentas.
=================== No podemos regresar
|
#2 Martes, 17 Enero 2012, 10:44 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Sqlite: Database Is Locked ¿alquien Sabe Como Desbloquearla?
¿ Y puedes abrirla con un gestor para Sqlite y trabajar con ella o te pasa solo con el programa ?.
Esto es con .NET. Visto asi parece chino.
(no se parece nada a VB).
http://rafinguer.blogspot.com/2009/...lite-y-net.html
Y una forma de repararla.Cuidado con no hacer copia.
http://rootdev.blogspot.com/2009/08...a-bases-de.html
Pues eso. A ver que nos cuentas.
=================== Gambas Básico
"No es un bug, es una caracterÃstica no documentada"
|
#3 Martes, 17 Enero 2012, 10:59 |
|
|
codificador
Analista Programador
Registrado: Junio 2010
Mensajes: 420
Edad: 114 Ubicación:
|
Re: Sqlite: Database Is Locked ¿alquien Sabe Como Desbloquearla?
¿ Y puedes abrirla con un gestor para Sqlite y trabajar con ella o te pasa solo con el programa ?.
Esto es con .NET. Visto asi parece chino.
(no se parece nada a VB).
http://rafinguer.blogspot.com/2009/...lite-y-net.html
si es casi 100 % equivalente de echo existen muchos traductores de codigo a basic
y son traducibles a mano solo que confunden tantos }
en c#
private SQLiteConnection con = null;
en vb net
Private con As SQLiteConnection = Nothing
sin embargo no entendà mucho parece que usa una sola clase con metodos públicos para todas las consultas y apenas la usa la libera y elimina
|
#4 Martes, 17 Enero 2012, 14:40 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Sqlite: Database Is Locked ¿alquien Sabe Como Desbloquearla?
Shordi:
Citar: DeberÃa haberte funcionado al reiniciar la máquina...
Reinicie la maquina, pero no funcionó...
Shell
Citar: Off topic
¿ Y puedes abrirla con un gestor para Sqlite y trabajar con ella
La puedo abrir y hacer sentencia "Select....", con el SQLite Database Browser, pero desde ese gestor tampoco puedo borrar ni insertar, ni modificar nada. De hecho este es el que me mostro el error "Database Is Locked", ya que en gambas solo indicaba que "Error".
Visitaré las paginas que me comentas...
Nota:
Encontre anoche un codigo en C++ para "restaurar la base de datos", Enlace pero no se como lo puedo usar...
|
#5 Martes, 17 Enero 2012, 16:41 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Sqlite: Database Is Locked ¿alquien Sabe Como Desbloquearla?
Codificador:
Es que lo de chino también iba por que no veÃa bien el código por los colores.
De VB tengo algo de idea.Nunca he tocado .NET. Y a estas alturas no creo que lo use.
EntenderÃa un poco mejor el código si no fuera por los colores.De VB fui directamente a gambas.
Julio:
En uno de los enlaces que te mostré viene como restaurarla.No parece difÃcil.
La web del código en C++.
Aun sigo dando los primeros pasos en C.A pesar de lo complejo que parece el código no lo es tanto.
El verdadero problema es como implementar esa instrucción en gambas.
"sqlite3_finalize(stmt)"
Es algo que nos puede pasar a cualquiera de nosotros y serÃa bueno solucionarlo.
Saludos.
=================== Gambas Básico
"No es un bug, es una caracterÃstica no documentada"
|
#6 Miercoles, 18 Enero 2012, 00:34 |
|
|
codificador
Analista Programador
Registrado: Junio 2010
Mensajes: 420
Edad: 114 Ubicación:
|
Re: Sqlite: Database Is Locked ¿alquien Sabe Como Desbloquearla?
Codificador:
Es que lo de chino también iba por que no veÃa bien el código por los colores.
De VB tengo algo de idea.Nunca he tocado .NET. Y a estas alturas no creo que lo use.
EntenderÃa un poco mejor el código si no fuera por los colores.De VB fui directamente a gambas.
Julio:
En uno de los enlaces que te mostré viene como restaurarla.No parece difÃcil.
La web del código en C++.
Aun sigo dando los primeros pasos en C.A pesar de lo complejo que parece el código no lo es tanto.
El verdadero problema es como implementar esa instrucción en gambas.
"sqlite3_finalize(stmt)"
el vb net se parece mucho mas a gambas en la sintaxis que el antiguo
implementa muchas novedades revolucionarias que ya existian en gambas1
como el try catch para el control de errores
el sqlite3_finalize se puede implementar desde el libsqlite.so
pero creo que eso no sirve de mucho, a menos que hagas todo directo en la libreria
existe un componete sqlite3 pero no tengo idea de como usarlo o explorarlo y tampoco existe ayuda
quizás ese componente es mas completo y tiene este finalize
|
#7 Miercoles, 18 Enero 2012, 05:20 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Sqlite: Database Is Locked ¿alquien Sabe Como Desbloquearla?
Si no ves la manera directa, soslaya el problema (es lo que hago yo en estos casos). Ya que tienes Select, una pequeña rutina que cree una base nueva y copie todas las tablas en ella, cambie el nombre a la vieja y renombre la nueva con el mismo nombre... y ya está. Lo pones en la rutina estándar de errores para el caso de recibir el mensaje de bloqueo y te olvidas del problema.
=================== No podemos regresar
|
#8 Miercoles, 18 Enero 2012, 09:51 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Sqlite: Database Is Locked ¿alquien Sabe Como Desbloquearla?
Shordi:
Citar: una pequeña rutina que cree una base nueva y copie todas las tablas en ella, cambie el nombre a la vieja y renombre la nueva con el mismo nombre
Citar: Lo pones en la rutina estándar de errores para el caso de recibir el mensaje de bloqueo y te olvidas del problema.
Me parece buena idea, el problema es que no se como ver (en gambas) el mensaje de bloqueo ¿como lo puedo averiguar?
|
#9 Miercoles, 18 Enero 2012, 16:54 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Sqlite: Database Is Locked ¿alquien Sabe Como Desbloquearla?
Prueba algo asà (primero comprueba qué texto da el mensaje).
=================== No podemos regresar
|
#10 Miercoles, 18 Enero 2012, 18:06 |
|
|
|