Mam aplikację, która korzysta z bazy danych SQLite i wszystko działa tak, jak powinno. Jestem teraz w trakcie dodawania nowych funkcji, które wymagają drugiej bazy danych SQLite, ale mam trudności ze zrozumieniem, jak połączyć tabele z różnych baz danych.
Jeśli ktoś może mi w tym pomóc, byłbym wdzięczny!
Edytuj: Zobacz to pytanie, aby zobaczyć przykładowy przypadek, który możesz dostosować do swojego języka, dołączając bazy danych, jak wspomniano w zaakceptowanej odpowiedzi.
Odpowiedzi:
Jeśli ATTACH jest aktywowane w twojej kompilacji Sqlite (powinno być w większości kompilacji), możesz dołączyć inny plik bazy danych do bieżącego połączenia, używając słowa kluczowego ATTACH . Ograniczenie liczby DB, które mogą być przyłączone jest ustawienie czasu kompilacji ( SQLITE_MAX_ATTACHED ), obecnie domyślnie do 10, ale to też może zależeć od kompilacji masz. Globalny limit wynosi 125.
Możesz zobaczyć wszystkie podłączone bazy danych za pomocą słowa kluczowego
Wtedy powinieneś być w stanie wykonać następujące czynności.
Należy zauważyć, że „[t] on nazwy baz danych
main
itemp
są zarezerwowane dla podstawowej bazy danych i bazy danych do przechowywania tabel tymczasowych i innych tymczasowych obiektów danych. Obie te nazwy baz danych istnieją dla każdego połączenia z bazą danych i nie powinny być używane do dołączania”.źródło
'
(pojedynczych cudzysłowów) wokół nazwy pliku. Znalazłem to samo.Oto przykład C #, aby ukończyć to pytanie
źródło
Cóż, nie mam dużego doświadczenia z SQLite, musisz uzyskać dostęp do obu baz danych w jednym zapytaniu.
Możesz mieć coś takiego:
W bazach danych, takich jak SQLServer, możesz uzyskać dostęp do innych baz danych w ten sposób hierarchiczny, powinno to również działać w przypadku SQLite.
Myślę, że możesz zainicjować wystąpienie sqlite z więcej niż 1 bazą danych!
źródło