Hallo,
habe ein Perl-Script das mit einer sqlite db arbeitet. Funktioniert alles tadellos, nur wenn ich Tests mit massiv parallelen Aufrufen mache erhalte ich manchmal die Rückmeldung von SQLite dass die DB gelockt ist.
Mein Script wertet den Rückgabewert der SQLite Operation aus und führt das SQL noch einmal bis zu einem Grenzwert aus wenn Fehler festgestellt wurden. Den Error erhalte ich aber trotzdem auf der Console:
Error: database is locked
Den Connect Anfang des Scriptes mache ich so:
$dbh = DBI->connect("dbi:SQLite:dbname=meinedb.db", "", "", {
PrintError => 0,
PrintWarn => 0,
RaiseError => 0,
AutoCommit => 1
});
Queries dann später per:
$dbh->do("insert into....;");
oder
$res = $dbh->selectall_arrayref("select foo from bar;");
Was kann ich noch tun um den Error zu unterdrücken? Ich logge diesen schon mit, kann ihn aber als Ausgabe die der User sieht absolut nicht gebrauchen.
Innerhalb des Scriptes habe ich auch ein "no warnings;" oder als Shebangzeile ein "#!/usr/bin/perl -X" probiert, hat aber nichts weiter geholfen.
Danke,
Hans