it-swarm-id.com

Bagaimana saya bisa menggabungkan banyak database SQLite?

Jika saya memiliki sejumlah besar basis data SQLite, semuanya dengan skema yang sama, apa cara terbaik untuk menggabungkan keduanya agar dapat melakukan kueri pada semua basis data? 

Saya tahu adalah mungkin untuk menggunakan MELAMPIRKAN untuk melakukan ini tetapi memiliki batas dari 32 dan 64 basis data tergantung pada sistem memori pada mesin.

56
DavidM

Ini akan dilakukan atas permintaan, mungkin beberapa kali sehari. Cara saya melihatnya bekerja adalah di http://sqlite.1065341.n5.nabble.com/Attempting-to-merge-large-databases-td39548.html di mana basis data digabung menjadi DB besar , kueri dilakukan dan kemudian basis data besar dihapus.

16
DavidM

Untuk meringkas dari posting Nabble dalam jawaban DavidM:

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

Ulangi sesuai kebutuhan.

Catatan: ditambahkan detach toMerge; sesuai komentar mike.

59
dfrankow

Jika Anda hanya perlu melakukan operasi penggabungan ini satu kali (untuk membuat database yang lebih besar), Anda bisa membuat skrip/program yang akan mengulang semua basis data sqlite Anda dan kemudian memasukkan data ke dalam basis data (besar) utama Anda.

1
Espo

Meskipun utas yang sangat lama, ini masih merupakan pertanyaan yang relevan dalam kebutuhan pemrograman saat ini. Saya memposting ini di sini karena belum ada jawaban yang ringkas, mudah, dan langsung. Ini demi Google yang berakhir di halaman ini. GUI kita pergi:

  1. Unduh Sqlitestudio
  2. Tambahkan semua file database Anda dengan menggunakan pintasan keyboard Ctrl + O
  3. Klik dua kali setiap file db yang sekarang dimuat untuk membuka/mengaktifkan/memperluas semuanya
  4. Bagian yang menyenangkan: cukup klik kanan pada setiap tabel dan klik pada Copy, lalu buka database target dalam daftar file database yang dimuat (atau buat yang baru jika diperlukan) dan klik kanan pada target db dan klik pada Paste

Saya kagum menyadari bahwa tugas yang menakutkan dapat diselesaikan dengan menggunakan keterampilan pemrograman kuno yang disebut: copy-and-paste :)

0