Come posso unire molti database SQLite?
Soluzione 2
Ciò verrebbe fatto su richiesta, possibilmente più volte al giorno.Il modo in cui lo vedrei funzionare è come in http://sqlite.1065341.n5.nabble.com/Attempting-to-merge-large-databases-td39548.html dove i database vengono uniti in un DB di grandi dimensioni, la query viene eseguita e quindi il database di grandi dimensioni viene eliminato.
Altri suggerimenti
Per riassumere dal Posta di Nabble nella risposta di DavidM:
attach 'c:\test\b.db3' as toMerge;
BEGIN;
insert into AuditRecords select * from toMerge.AuditRecords;
COMMIT;
detach toMerge;
Ripetere secondo necessità.
Nota:aggiunto detach toMerge;
come da commento di Mike.
Se hai bisogno di eseguire questa operazione di unione solo una volta (per creare un nuovo database più grande), potresti creare uno script/programma che eseguirà il loop di tutti i tuoi database SQLite e quindi inserirà i dati nel tuo database principale (grande).
Sebbene sia un thread molto vecchio, questa è ancora una questione rilevante nelle esigenze di programmazione di oggi.Lo pubblico qui perché nessuna delle risposte fornite è ancora concisa, facile e diretta al punto.Questo è per il bene dei Googler che finiscono su questa pagina.GUI andiamo:
- Scaricamento Sqlitestudio
- Aggiungi tutti i file del database utilizzando il file
Ctrl + O
scorciatoia da tastiera - Fare doppio clic su ciascun file db ora caricato per aprirli/attivarli/espanderli tutti
- Parte divertente:è sufficiente fare clic con il pulsante destro del mouse su ciascuna tabella e fare clic su
Copy
, quindi andare al database di destinazione nell'elenco dei file di database caricati (o crearne uno nuovo se necessario) e fare clic con il tasto destro del mouse sul db di destinazione e fare clic suPaste
Sono rimasto stupito nel realizzare che un compito così arduo può essere risolto utilizzando l'antica abilità di programmazione chiamata:copia e incolla :)
Senza offesa, da sviluppatore a sviluppatore, temo che la tua idea sembri terribilmente inefficiente.Mi sembra che invece di unire i database SQLite dovresti probabilmente memorizzare più tabelle all'interno dello stesso file di database.
Tuttavia, se sbaglio, immagino che potresti ALLEGARE i database e quindi utilizzare una VISUALIZZAZIONE per semplificare le tue query.Oppure crea una tabella in memoria e copia tutti i dati (ma è ancora peggio in termini di prestazioni, soprattutto se disponi di database di grandi dimensioni)