Mit mehreren SQLite Datenbanken auf einmal
Ich habe 2 SQLite-Datenbanken von einem server heruntergeladen (server.db
), und man verwendet als Speicher auf dem client (client.db
). Ich brauche, um verschiedene sync-Abfragen auf dem client-Datenbank, mit Daten aus der server-Datenbank.
Zum Beispiel möchte ich löschen Sie alle Zeilen in der client.db tRole
Tisch, und neu Auffüllen mit alle Zeilen in der server.db tRole
Tabelle.
Einem anderen Beispiel möchte ich löschen Sie alle Zeilen in der client.db tFile
Tisch, wo die fileID
ist nicht in der server.db tFile
Tabelle.
In der SQL Server-Sie können nur das Präfix der Tabelle mit dem Namen der Datenbank. Gibt es trotzdem, dies zu tun in SQLite mit Adobe Air?
- "Es ist nicht Weise, das zu tun dieses aus der Datenbank-Ebene." Wie so? SQLite hat ein
attach
Schlüsselwort, können Sie fügen Sie eine andere Datenbank. Und Theo ' s Antwort zeigt, dass Luft zu haben scheinen, einen entsprechenden API-Aufruf. Gibt es eine Unterscheidung, die ich bin fehlt, wenn Sie konkret sagen "aus der Datenbank-Ebene"?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich schaute auf die AIR-SQL-API, und es gibt eine
attach
Methode aufSQLConnection
es sieht genau das, was Sie brauchen.Habe ich noch nicht getestet, aber laut Anleitung sollte es funktionieren:
Möglicherweise gibt es Fehler in diesem code-snipplet, ich habe nicht viel gearbeitet mit dem AIR-SQL-API in letzter Zeit. Beachten Sie, dass die Tabellen der Datenbank geöffnet, mit
open
sind verfügbar mitmain.tableName
, alle angeschlossenen Datenbank gegeben werden kann, überhaupt irgendeinen Namen (otherDb
im Beispiel oben).Es ist möglich, mehrere Datenbanken auf einmal in Sqlite, aber es ist zu bezweifeln, ob es getan werden kann, wenn die Arbeit von Flex/AIR. In der command-line-client, den Sie ausführen
ATTACH DATABASE path/to/other.db AS otherDb
und dann finden Sie in Tabellen in dieser Datenbank alsotherDb.tableName
so wie in MySQL-oder SQL-Server.dieser code funktioniert,es ist schreiben von mir: