SQLite: Database is locked

Für Fehler in Lazarus, um diese von anderen verifizieren zu lassen.

SQLite: Database is locked

Beitragvon Aliobaba » 13. Sep 2018, 10:22 SQLite: Database is locked

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
"MyMemoryDB" ( https://www.heise.de/download/product/mymemorydb-89626 )
Aliobaba
 
Beiträge: 342
Registriert: 1. Mai 2012, 08:11

Beitragvon Socke » 13. Sep 2018, 10:27 Re: SQLite: Database is locked

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.

Dazu müsste man erst einmal wissen, welcher Prozess die Datei sperrt und von dir abgeschossen wird.
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
Socke
 
Beiträge: 2552
Registriert: 22. Jul 2008, 18:27
Wohnort: Köln
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 8.1/Debian GNU/Linux/Raspbian/openSUSE | 
CPU-Target: 32bit x86 armhf
Nach oben

Beitragvon Aliobaba » 14. Sep 2018, 14:10 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. viewtopic.php?f=19&t=11777&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 )
Aliobaba
 
Beiträge: 342
Registriert: 1. Mai 2012, 08:11

• Themenende •

Zurück zu Lazarus - Bugs



Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 3 Gäste

porpoises-institution
accuracy-worried