Uno de los appropriate uses para sqlite3 es "bases de datos en memoria". Esto suena como una herramienta realmente útil para mis aplicaciones C++. ¿Alguien tiene un ejemplo de cómo se hace esto en C o C++? Estoy buscando específicamente una forma canónica para sorber varios archivos planos en una base de datos en memoria, y luego hacer algunas combinaciones.¿Cómo creo una base de datos en memoria sqllite3?
Respuesta
En realidad es bastante fácil. Simplemente especifique ': memory:' como el nombre de archivo de la base de datos cuando abra una base de datos usando la API C/C++. Es una constante especial que el motor reconocerá. Lo mismo funciona para otros lenguajes como Python o Ruby, ya que normalmente solo envuelven la API de C/C++. Vea http://sqlite.org/c3ref/open.html para detalles completos.
Simplemente abra el archivo: memoria: y eso debería hacerlo (al menos lo hace en PHP).
Mencione que desea leer en varios archivos planos y unirlos. Si es posible almacenar los archivos planos como bases de datos SQLite, se puede trabajar directamente con los dos se conectan uno al otro:
ATTACH foo.db AS foo
A continuación, se refieren a las tablas en foo, así:
SELECT * FROM foo.users
Este forma en que puede realizar sus uniones sin la necesidad de crear una base de datos en memoria.
Si desea que SQLite no use archivos temporales como diarios, por ejemplo, no desea ninguna actividad de archivo que no sea cuando solicita manualmente una conexión, desconecte, adjunte o desconecte. Luego use los siguientes dos pragmas en tiempo de ejecución después de conectarse a su base de datos ": memory:".
PRAGMA temp_store=MEMORY;
PRAGMA journal_mode=MEMORY;
Desde el docs.
- 1. ¿Cómo lo inserto en PDO (sqllite3)?
- 2. ¿Cómo creo una base de datos programáticamente en SQL Server?
- 3. ¿Cómo creo categorías anidadas en una base de datos?
- 4. ¿Cómo creo una página base en WPF?
- 5. ¿Cómo puedo crear una base de datos sqlite en memoria?
- 6. Guardando en disco una base de datos en memoria
- 7. ¿Cómo creo una migración para una base de datos existente en EntityFramework 4.3?
- 8. Cargar una base de datos innodb MySQL en la memoria
- 9. Recomendación para una base de datos en memoria
- 10. ¿En qué casos prueba con una base de datos en memoria en lugar de una base de datos de desarrollo?
- 11. ¿Cómo creo una nueva base de datos en MongoDB usando PyMongo?
- 12. Cómo creo una base de datos en marklogic desde un script
- 13. ¿Cómo se elimina una base de datos SQLite en memoria con PHP PDO?
- 14. ¿Cómo creo una nueva base de datos Firebird desde la línea de comando?
- 15. ¿Cómo creo una base de datos Microsoft Jet (Access) sin un ensamblado de interoperabilidad?
- 16. Base de datos temporal en memoria en SQLite
- 17. ¿Cómo vaciar una base de datos SQL?
- 18. ¿Cómo creo un HashCode en .net (C#) para una cadena que es segura de almacenar en una base de datos?
- 19. 100% en la base de datos HSQL en memoria
- 20. ¿Cómo creo una función de clasificador de Governor de recursos basada en una función de base de datos?
- 21. Recomendaciones para una base de datos en memoria frente a estructuras de datos seguras para hilos
- 22. PostgreSQL en la base de datos de memoria
- 23. Activadores de base de datos/integridad referencial y almacenamiento en memoria caché en memoria
- 24. ¿Qué significa "Origen de datos no puede estar vacío. Uso: memoria: para abrir una base de datos en memoria" significa?
- 25. ¿Buena base de datos en memoria para .net/PowerShell?
- 26. ¿Cómo creo un identificador en memoria en Haskell?
- 27. Alternativa al TimesTen en la base de datos de memoria
- 28. Raíles con en la base de datos de memoria
- 29. Cómo documentar una base de datos
- 30. ¿Cómo copiar una tabla sqlite desde una base de datos de disco a una base de datos de memoria en python?