2016-04-27 6 views
0

ich eine Verbindung zu config1.sqlit e-Datei am Öffnen gehalten bei suppose /x/y/config1.sqlite Weg über sqlite3_open (constvoid *Pfad, sqlite3 **** ** DB_REF ****). Es funktioniert gut.kann sqlite3_open API die Verbindung zu mehreren Datenbankdateien über eine einzige Instanz öffnen?

Nun möchte ich eine weitere Verbindung zu der gleichen config1.sqlite Datei, eine Kopie auf verschiedenen Pfad sagen, /x/z/config1.sqlite Pfad. Ich bin nicht sicher, ob sqlite3_open API Verbindungen zu mehreren Datenbankdateien über db_ref ​​ oben angegebenen öffnen kann.

bitte jemand sagen kann es möglich sein?

danke

Antwort

0

sqlite3_open kann das nicht; Sie erhalten immer eine neue, unabhängige Datenbankverbindung.

Sie können jedoch attach eine Datenbank in eine andere geöffnete Datenbankverbindung:

sqlite3_open("/x/y/config1.sqlite"); 
sqlite3_execute("ATTACH '/x/z/config1.sqlite' AS z"); 
sqlite3_execute("SELECT * FROM main.tab"); 
sqlite3_execute("SELECT * FROM z.tab"); 
+0

Vielen Dank für Ihre Antwort. :) Ich habe das noch nicht ausprobiert, werde es versuchen. – user2181750