Ich habe eine Anwendung, die eine SQLite-Datenbank verwendet und alles funktioniert so, wie es sollte. Ich bin gerade dabei, neue Funktionen hinzuzufügen, für die eine zweite SQLite-Datenbank erforderlich ist, aber es fällt mir schwer, herauszufinden, wie Tabellen aus den verschiedenen Datenbanken verknüpft werden können.
Wenn mir jemand dabei helfen kann, würde ich es wirklich schätzen!
Bearbeiten: Siehe diese Frage für ein Beispiel Fall , dass Sie auf Ihre Sprache anpassen können , wenn Sie Datenbanken anfügen , wie in der akzeptierten Antwort erwähnt.
Antworten:
Wenn ATTACH in Ihrem Build von Sqlite aktiviert ist (dies sollte in den meisten Builds der Fall sein ), können Sie mit dem Schlüsselwort ATTACH eine weitere Datenbankdatei an die aktuelle Verbindung anhängen . Die Begrenzung für die Anzahl der DBs, die angehängt werden können, ist eine Einstellung für die Kompilierungszeit ( SQLITE_MAX_ATTACHED ), die derzeit standardmäßig 10 ist. Auch dies kann je nach Build variieren. Das globale Limit liegt bei 125.
Sie können alle verbundenen Datenbanken mit dem Schlüsselwort anzeigen
Dann sollten Sie in der Lage sein, Folgendes zu tun.
Beachten Sie, dass "[d] die Datenbanknamen
main
undtemp
für die Primärdatenbank und die Datenbank reserviert sind, um temporäre Tabellen und andere temporäre Datenobjekte zu speichern. Diese beiden Datenbanknamen existieren für jede Datenbankverbindung und sollten nicht für Anhänge verwendet werden".quelle
'
(einfache Anführungszeichen) um den Dateinamen setzte. Ich habe das gleiche gefunden.Hier ist ein C # -Beispiel, um diese Frage zu beantworten
quelle
Nun, ich habe nicht viel Erfahrung mit SQLite. Sie müssen in einer einzigen Abfrage auf beide Datenbanken zugreifen.
Sie können so etwas haben wie:
In Datenbanken wie SQLServer können Sie auf diese hierarchische Weise auf andere Datenbanken zugreifen. Dies sollte auch für SQLite funktionieren.
Ich denke, Sie können eine Instanz von SQLite mit mehr als 1 Datenbank initiieren!
quelle