Wählen Sie eine SQLite-Datei und prüfen Sie Header und erkannten Schematext. Die Erkennung ist heuristisch; Abfragen und Tabellenzeilen werden nicht ausgeführt oder angezeigt.
Läuft lokal in deinem BrowserDiese Seite öffnet eine lokale SQLite-3-Datei im Browser und berichtet, was die Datei über sich selbst sagt: den Datenbank-Header und die Einträge der Tabelle sqlite_schema, in der SQLite jede Tabelle, jeden Index, jede View und jeden Trigger ablegt. Die Datei wird mit der FileReader-API gelesen, es wird also nichts hochgeladen und keine Abfrage ausgeführt.
Wählen Sie die Datei .sqlite, .db oder .sqlite3 über die Schaltfläche. Der Header erscheint als JSON-Bericht, die Schema-Objekte als Tabelle, und Leeren entfernt die Datei von der Seite. Die Seite öffnet nie Zeilendaten: sie liest nur Seite 1 und die Schema-Seiten.
Der Header-Bericht gibt die ersten 100 Bytes der Datei als benannte Felder wieder: bytes ist die Dateigröße, page_size die von der Datenbank angegebene Seitengröße (der Wert 1 bedeutet 65536) und pages die Dateigröße geteilt durch die Seitengröße. file_format_write_version und file_format_read_version sind 1 bei einer Rollback-Journal-Datenbank und 2 bei einer WAL-Datenbank; text_encoding ist UTF-8, UTF-16le, UTF-16be oder "not declared", genau wie im Header angegeben.
schema_format und application_id stammen aus demselben Header-Block. Sie werden als Zahlen ausgegeben, weil die Datei sie so enthält; die Seite deutet nicht, was eine Application-ID bedeutet.
Die Tabelle wird aus dem sqlite_schema-B-Baum auf Seite 1 gelesen, in der Reihenfolge, in der die Objekte angelegt wurden, und behält den SQL-Text unverändert, einschließlich zitierter Namen wie "user data", nicht-ASCII-Namen und mehrzeiliger Trigger-Rümpfe. Eine Tabelle mit 130 Spalten und einer 6 KB langen CHECK-Klausel wurde vollständig angezeigt, und eine Datenbank mit 400 Objekten listete alle 400.
Auch die Objekte, die SQLite selbst anlegt, stehen in der Liste: eine UNIQUE-Spalte erzeugt einen sqlite_autoindex_*-Index, AUTOINCREMENT die Tabelle sqlite_sequence. Ein Hinweis nennt die Anzahl dieser internen Objekte, damit sie nicht für eigene Objekte gehalten werden.
Gelesen wird nur die ausgewählte Datenbankdatei. Im WAL-Modus können die neuesten Änderungen noch in der separaten -wal-Datei liegen, und diese Seite liest diese Nebendatei nicht; ein Schema aus einer WAL-Sitzung ohne Checkpoint kann also fehlen. Zeilendaten werden nie dekodiert: die Seite zeigt keine Tabelleninhalte, führt keine Integritätsprüfung aus und repariert keine Dateien.
Eine Datei ohne die Signatur SQLite format 3, eine Datei unter 100 Bytes oder ein Header mit unmöglicher Seitengröße werden mit einer Meldung abgewiesen, und der vorherige Bericht wird geleert, damit nichts von einer früheren Datei stehen bleibt.