SQLite: WAL-Datenbank auf dem Netzlaufwerk von zwei Rechnern
WAL verlangt alle Prozesse auf demselben Rechner, weil der wal-index im gemeinsamen Speicher liegt. Über ein Netzdateisystem funktioniert das nicht.
// Schlagwort
Alle 5 Layer-8-Fehler mit dem Schlagwort „SQLite“ – verifizierte Lösungen, trocken kommentiert.
WAL verlangt alle Prozesse auf demselben Rechner, weil der wal-index im gemeinsamen Speicher liegt. Über ein Netzdateisystem funktioniert das nicht.
Die Spalte heißt INTEGER, enthält aber „42“ als Zeichenkette. SQLite bindet den Datentyp an den Wert, nicht an die Spalte — und meckert nicht.
Die .db-Datei allein ist im WAL-Modus keine vollständige Datenbank. Ohne die -wal-Datei fehlen Transaktionen oder die Kopie ist beschädigt.
SQLITE_CORRUPT (11)SQLite meldet eine beschädigte Datenbankdatei? Erst kopieren, dann prüfen, dann mit .recover retten — und danach die Ursache abstellen.
database is lockedSQLite meldet „database is locked“? Sie erlaubt nur einen Schreiber — ein hängender Zugriff oder ein Netzlaufwerk bringt sie ins Stocken.