Pregunta

Si que tiene un gran número de bases de datos SQLite, todos con el mismo esquema, ¿cuál es la mejor manera de combinar juntos con el fin de realizar una consulta en todas las bases de datos?

Sé que es posible utilizar ADJUNTAR para hacer esto, pero se ha un límite de 32 y 64 bases de datos dependiendo de la memoria del sistema en la máquina.

¿Fue útil?

Solución 2

Esto se llevaría a cabo en la demanda, es posible varias veces al día.La forma en que me gustaría ver es como en http://sqlite.1065341.n5.nabble.com/Attempting-to-merge-large-databases-td39548.html donde las bases de datos se combinan en una base de datos grande, la consulta realizada y, a continuación, la gran base de datos eliminados.

Otros consejos

Para resumir, desde el Nabble post en DavidM la respuesta:

attach 'c:\test\b.db3' as toMerge;           
BEGIN; 
insert into AuditRecords select * from toMerge.AuditRecords; 
COMMIT; 
detach toMerge;

Repita según sea necesario.

Nota:agregó detach toMerge; como por mike comentario.

Si usted sólo necesita hacer esta operación de combinación de una vez (para crear una nueva más grande base de datos), puede crear un script o programa que se realizará un bucle de todas sus bases de datos sqlite y, a continuación, insertar los datos en su principal (grande) de la base de datos.

A pesar de un hilo muy antiguo, este es todavía una cuestión relevante en el día de hoy las necesidades de programación.Estoy publicando esto aquí, porque ninguna de las respuestas proporcionadas sin embargo, es conciso, fácil y recto-a-punto.Esto es para el bien de los Empleados que terminan en esta página.GUI vamos:

  1. Descargar Sqlitestudio
  2. Agregar todos los archivos de base de datos mediante el uso de la Ctrl + O método abreviado de teclado
  3. Haga doble clic en cada ahora-cargar archivo de base de datos para activar/expandir todos ellos
  4. Parte de la diversión:simplemente haga clic derecho en cada una de las tablas y haga clic en Copy, y , a continuación, vaya a la base de datos de destino en la lista de la carga archivos de base de datos (o crear uno nuevo si es necesario) y haga clic en el db de destino y haga clic en Paste

Yo estaba asombrado al darse cuenta de que esa tarea de enormes proporciones puede ser resuelto utilizando los antiguos conocimientos de programación llamado:copiar y pegar :)

Sin ofensa, así como un programador a otro, me temo que tu idea parece terriblemente ineficiente.A mí me parece que en lugar de unir bases de datos SQLite, usted probablemente debería ser el almacenamiento de varias tablas dentro del mismo archivo de Base de datos.

Sin embargo, si me equivoco creo que se puede ADJUNTAR las bases de datos y, a continuación, utilizar una VISTA para simplificar las consultas.O hacer una tabla en memoria y copiar todos los datos (pero que es aún peor rendimiento sabio, especialmente si usted tiene grandes bases de datos)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top