Hallo,
seit der Versionsumstellung von Lazarus (Kubuntu Ubuntu 18.04.1 LTS Lazarus 1.6.4 vom 6.9.18 Ich arbeite mit "Zeos") kommt es bei mir immer mal wieder zu der Meldung:
"Database is locked"
Ich habe letzte Nacht verzweifelt nach einem Fehler in meinem Code gesucht und stellt dann im Verlauf fest, dass der Fehler nicht auftritt, wenn ich ein anderes Datenbank-File (also das File, wo die Daten drinnen sind) einlade und starte. Das Problem lag also in diesem Datenbank-File (Sorry; weiß kein besseres Wort).
Nun war dann natürlich die Fehlersuche relativ einfach. Ich fand diesen Beitrag:
https://im-coder.com/wie-kann-ich-eine- ... erren.html
In Linux und macOS können Sie etwas ähnliches machen, zum Beispiel, wenn Sie Ihre gesperrte Datei ist die Entwicklung.db:
$ fuser Entwicklung.db
Dieser Befehl wird angezeigt, welcher Prozess die Datei gesperrt wird:
> Entwicklung.db: 5430
Nur den Prozess zu beenden...
kill -9 5430
...Und Ihre Datenbank freigeschaltet werden.
Genau so konnte ich dann mein "Datenbank-File" wieder entsperren und es läuft seither ohne Probleme:
Zweck dieses Beitrags:
1. Vielleicht hilft es auch einem anderen User.
2. Vielleicht kann irgendwann jemand die Frage beantworten, warum dieses Phänomen mit meiner (ur)alten Lazarus-Version nie aufgetreten ist, jetzt aber plötzlich immer mal wieder (leider unreproduzierbar) auftritt.
Aliobaba
SQLite: Database is locked
SQLite: Database is locked
"MyMemoryDB" ( https://www.heise.de/download/product/mymemorydb-89626 )
-
- Lazarusforum e. V.
- Beiträge: 3178
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: SQLite: Database is locked
Dazu müsste man erst einmal wissen, welcher Prozess die Datei sperrt und von dir abgeschossen wird.Aliobaba hat geschrieben:2. Vielleicht kann irgendwann jemand die Frage beantworten, warum dieses Phänomen mit meiner (ur)alten Lazarus-Version nie aufgetreten ist, jetzt aber plötzlich immer mal wieder (leider unreproduzierbar) auftritt.
Ich sperre mich immer selbst aus, indem ich in externen Tools noch Transaktionen offen habe. In der Regel reicht es dann aus, die Transaktionen zu beenden (Commit oder Rollback). Lazarus im Design-Modus kann dir hier die Datenbank ebenfalls sperren.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Re: SQLite: Database is locked
Es ist das eigene Programm (MyMemoryDB), das mich aussperrt. Hier bleibt offenbar gelegentlich eine Datenbank offen. Aufgetreten ist dies aber erst nach einem Wechsel/Update des Betriebssystems auf Kubuntu 18.04.1 .
Mit dieser Betriebssystemversion habe ich aber noch mehr Probleme (sh. http://www.lazarusforum.de/viewtopic.ph ... 7&start=15 ). Ich denke ich werde zukünftig Linux Mint verwenden.
Vielen Dank für Eure Hilfe!
Aliobaba
Mit dieser Betriebssystemversion habe ich aber noch mehr Probleme (sh. http://www.lazarusforum.de/viewtopic.ph ... 7&start=15 ). Ich denke ich werde zukünftig Linux Mint verwenden.
Vielen Dank für Eure Hilfe!
Aliobaba
"MyMemoryDB" ( https://www.heise.de/download/product/mymemorydb-89626 )