Me gustaría abrir los datos del sitio de cromo (en ~/.config/chromium/Default) con python-sqlite3 pero se bloquea cada vez que se ejecuta Chrome, lo cual es comprensible ya que se pueden realizar transacciones. ¿Hay alguna manera de abrirlo en modo de solo lectura, asegurando que no puedo dañar la integridad de la base de datos mientras el cromo la está usando?¿Es posible abrir una base de datos sqlite bloqueada en modo solo lectura?
Respuesta
Creo que depende del bloqueo establecido por la transacción.
http://www.sqlite.org/lockingv3.html#shared_lock http://www.sqlite.org/lang_transaction.html
SQLite transacciones bloqueo exclusivo de lectura y escritura, donde las transacciones inmediatas y diferidas, todavía permite a los lectores.
Por lo tanto, realmente depende de las transacciones utilizadas por Chromium.
Chromium mantiene bloqueado la base de datos durante largos periodos de tiempo? ¡Yuck! Esa no es realmente una muy buena idea. Aún así, no su culpa ...
Usted podría intentar simplemente copiar el archivo de base de datos (por ejemplo, con el sistema de servicios públicos cp
) y el uso de esa instantánea para la lectura; SQLite mantiene todo su estado comprometido en un único archivo por base de datos. Sí, existe la posibilidad de ver una transacción parcial, pero definitivamente no tendrás problemas de bloqueo en Unix ya que SQLite definitivamente no usa bloqueos obligatorios. (Esto podría no funcionar en Windows debido a los diferentes esquemas de bloqueo allí).
No es necesariamente culpa del cromo. Al husmear, encontré [este] (http://mail.python.org/pipermail/python-list/2009-July/1211171.html) un mensaje útil que señalaba que la biblioteca pysqlite no proporciona una interfaz para todos de las características de sqlite porque es compatible con DB-API. Entonces podría ser que cuando abro el db con pysqlite, lo haga sin decir en modo lectura-escritura. Señaló a APSW para usar el indicador SQLITE_OPEN_READONLY al iniciar una conexión. Voy a verlo ahora. – ladaghini
- 1. No se puede abrir la base de datos Sqlite en modo de solo lectura
- 2. SQLite: base de datos de solo lectura
- 3. java + sqlite: ¿cómo abrir la base de datos como de solo lectura?
- 4. Cómo abrir la base de datos SQL Compact solo lectura
- 5. SQLite/PHP de solo lectura?
- 6. Error al separar la base de datos SQLite - la base de datos está bloqueada
- 7. Abrir una base de datos de solo lectura directamente en la carpeta de activos
- 8. Intento escribir una base de datos de solo lectura: System.Data.SQLite
- 9. java.sql.SQLException: base de datos bloqueada
- 10. Abrir archivo de solo lectura
- 11. ¿Puedo abrir una consola de rieles en modo de solo lectura?
- 12. Apertura de la base de datos sqlite3 de python en modo de solo lectura
- 13. Vista de solo lectura coherente de una base de datos
- 14. ¿Por qué estoy recibiendo SQLException: la base de datos está bloqueada en mi base de datos JDBC SQLite?
- 15. sql conexión abierta en modo de solo lectura
- 16. MySQL: ¿Cómo convertir una base de datos a solo lectura?
- 17. ¿Es posible tratar una tabla como solo lectura en hibernación?
- 18. Ejecutando Solr en modo de solo lectura
- 19. sqlite3: base de datos principal de solo lectura y ATTACH
- 20. ¿Es posible aplicar el comportamiento de solo lectura con SqlCommand?
- 21. Python/SQLite - base de datos bloqueada a pesar de grandes tiempos de espera
- 22. tabla de base de datos sqlalchemy está bloqueada
- 23. SQLite mantiene la base de datos bloqueada incluso después de que se cierra la conexión
- 24. Script Bash con lectura no bloqueada
- 25. Base de datos sqlite3 de solo lectura segura
- 26. Base de datos SQLite en Javascript localmente
- 27. Android - ¿Existe una base de datos SQLite?
- 28. ¿Configurar VIM para abrir archivos en modo "solo lectura" de forma predeterminada?
- 29. ¿Por qué SQLite da una "base de datos está bloqueada" para una segunda consulta en una transacción cuando se usa DBD :: SQLite de Perl?
- 30. cómo crear una sesión de solo lectura en nHiberate?
+1: Esta es la forma de hacerlo _within_ SQLite. –