sqlite> DELETE FROM mails WHERE (`id` = 71);
SQL error: database is locked
Comment puis-je déverrouiller la base de données pour que cela fonctionne ?
sqlite> DELETE FROM mails WHERE (`id` = 71);
SQL error: database is locked
Comment puis-je déverrouiller la base de données pour que cela fonctionne ?
J'avais l'outil "DB Browser for SQLite" en cours d'exécution et j'y travaillais également. Évidemment, cet outil met aussi des verrous sur les choses. Après avoir cliqué sur "Write Changes" ou "Revert Changes", le verrou avait disparu et l'autre processus (A React-Native script) ne donnait plus cette erreur.
J'ai rencontré cette erreur en consultant les mots de passe enregistrés dans Google Chrome.
# ~/.config/google-chrome/Default
$ sqlite3 Login\ Data
SQLite version 3.35.5 2021-04-19 18:32:05
sqlite> .tables
Error: database is locked
Si vous ne vous souciez pas particulièrement du processus parent ou si vous ne voulez pas arrêter le processus chrome actuel qui utilise la base de données, copiez simplement le fichier ailleurs.
$ cp Login\ Data ~/tmp/ld.sql
$ sqlite3 ~/tmp/ld.sql .tables
field_info meta sync_model_metadata
insecure_credentials stats
logins sync_entities_metadata
Cela vous permettra de lire le contenu de la base de données sans perturber ou arrêter le processus principal de chrome.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
0 votes
Il se peut qu'un autre processus accède au fichier de la base de données - avez-vous vérifié lsof ?
0 votes
J'ai eu le même problème, le problème était dans l'antivirus quand je le désactive mon application fonctionne bien, mais quand je l'active je trouve l'erreur "la base de données est verrouillée", j'espère que cela va vous aider.