6 Stimmen

Sqlite3 close gibt Fehlercode 5 zurück

Beim Schließen von sqlite3 mit der Funktion sqlite3_close gibt es den Fehlercode 5 5 - Datenbankdatei ist beschäftigt. Wie kann dieses Problem behoben werden?

0 Stimmen

Ja, einen Aufruf von sqlite3_finalize() vor sqlite3_close() hat den Trick gemacht. Hoffentlich hilft das.

11voto

laalto Punkte 143902

Die sqlite3_close Dokumentation besagt deutlich:

Anwendungen müssen alle vorbereiteten Anweisungen finalisieren und alle BLOB-Handles schließen, die mit dem sqlite3-Objekt verbunden sind, bevor sie versuchen, das Objekt zu schließen. Wenn sqlite3_close() auf eine Datenbankverbindung aufgerufen wird, die noch ausstehende vorbereitete Anweisungen oder BLOB-Handles hat, gibt es SQLITE_BUSY zurück.

-1voto

Vishal Punkte 18723

Die Antwort befindet sich in der Frage, sehen Sie, ob Sie extern auf die Datenbank zugreifen.

0 Stimmen

Nein, ich greife nicht extern darauf zu. Aber ich habe es in der DB in zwei verschiedenen Funktionen f1() und f2() geöffnet. Zum Einfügen und wenn sqlite3_step() durchgeführt wird, während sqlite3_close() ausgeführt wird, gibt es immer eine "busy"-Rückmeldung sowohl von f1() als auch von f2().

0 Stimmen

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X