Seite 1 von 1
SQLite Dateien in VirtualStore?
Verfasst: 23. Juni 2017 13:04
von Tomaxx
Hallo!
Ich habe mein Programm soweit dass es prima läuft. Dann habe ich eine Modifikation der Datenbank vorgenommen und neu installiert.
Leider wird die neue Datenbank ignoriert und es wird auf alte Kopien im Pfad ../AppData/Local/VirtualStore/...
Wegen der Modifikationen an der datenbank werden natürlich Felder nicht gefunden -> das Programm stürzt ab.
Super ärgerlich!
Wie geht ihr damit um?
Thomas
Re: SQLite Dateien in VirtualStore?
Verfasst: 24. Juni 2017 12:19
von Tomaxx
Ist die Frage zu dumm oder hat kein anderer das Problem?
Re: SQLite Dateien in VirtualStore?
Verfasst: 25. Juni 2017 08:19
von Christian81
Absoluten Pfad beim Öffnen der DB angeben und schon legt Windows die Datei dort ab wo sie hin soll.
Re: SQLite Dateien in VirtualStore?
Verfasst: 26. Juni 2017 13:13
von Tomaxx
Hab ich gemacht.
Code: Alles auswählen
string pfad = QDir::currentPath().toStdString() + "/PumpPro.db";
sqlite3 *database;
sqlite3_open(pfad.c_str(), &database);
Trotzdem kopiert Windows beim ersten Start die Datenbank in den VirtualStore und alle Änderungen landen dort.
Die Datenbank im Programmpfad bleibt unverändert.
Re: SQLite Dateien in VirtualStore?
Verfasst: 26. Juni 2017 17:30
von Christian81
Re: SQLite Dateien in VirtualStore?
Verfasst: 26. Juni 2017 17:34
von MichaelS
Dieser olle VirtualStore hat mich auch schon Nerven und viele Stunden gekostet. Er wird von Windows immer dann benutzt, wenn ein Benutzer auf eine Datei zugreift, auf dem ihm die (Schreib-)rechte fehlen. Die Zugriffe werden von Windows automatisch umgelenkt. Einmal umgelenkt, greift Windows nicht mehr auf die Originaldatei zu, daher helfen auch die absoluten Pfadangaben nicht. Zur Lösung des Problems muss die SQLite DB daher in einem öffentlichen Verzeichnis liegen, in dem alle Benutzer, die daraufzugreifen sollen, Schreibrechte haben.
Gruß Michael