SQLite3: places.sqlite von SeaMonkey/Firefox öffnen
karl
- datenbank
Hallo zusammen,
ich bin am Verzweifeln - und zwar bekomme ich folgende Fehlermeldung von PHP:
Warning: SQLite3::query() [sqlite3.query]: Unable to prepare statement: 26, file is encrypted or is not a database in ...
Ich versuche, die Bookmarks meiner SeaMonkey-Installation (nightly!) auszulesen. Bis vor einiger Zeit war das ja alles kein Problem, da simple HTML-Datei. Inzwischen hatte jemand die lustige Idee, das in eine Datenbank zu werfen; entsprechend habe ich auch dafür Code geschrieben, der normalerweise auch ganz gut funktioniert hat. Seit ein paar Wochen jedoch scheint jedoch irgendeine Änderung in der Codebasis von Mozilla vorgenommen worden zu sein, welche die SQLite-Datenbanken irgendwie mit PHP inkompatibel macht. Es kommt die oben zitierte Fehlermeldung.
$fn = 'c:\temp\places.sqlite';
$db = new SQLite3($fn, SQLITE3_OPEN_READONLY);
$a = $db->query('SELECT b.title,p.url FROM moz_bookmarks b INNER JOIN moz_places p ON (p.id = b.fk) ORDER BY b.dateAdded ASC');
while ($b = $a->fetchArray()) echo $b['url'].'<br/>';
Ein $db->exec("PRAGMA KEY=1"); oder so hilft auch nichts, da das manchmal vorgeschlagen wird. Die Datei selbst ist _nicht_ verschlüsselt, da ich mit Notepad oder einem Hex-Editor den Inhalt "lesen" kann. Mit einem Tool (sqliteadmin), das ich mal probiert habe, bekomme ich die Datei mit der gleichen Fehlermeldung nicht auf (also meint auch "verschlüsselt").
Das heißt: Irgendwas macht der Mozilla-Code da anders, was die Datenbanken alle inkompatibel mit dem Rest der Welt macht. Nur was?
Wäre für Hinweise dankbar!
Viele Grüße
Karl