Inspecteur d’en-têtes et schémas SQLite

Choisissez la base SQLite pour examiner l’en-tête et le schéma détecté. La détection est heuristique ; l’outil n’exécute ni requêtes ni lecture des lignes de tables.

Fonctionne localement dans votre navigateur
Tout dans cet outil est traité dans ce navigateur. VoriTools ne télécharge pas, ne stocke pas et n’appelle aucune API tierce avec votre entrée.
Fichier de base de données SQLiteChoose a local SQLite 3 file.
En-tête de base de données

    Comment inspecter une base SQLite

    Cette page ouvre un fichier SQLite 3 local dans le navigateur et rapporte ce que le fichier dit de lui-même : l'en-tête de la base et les entrées de la table sqlite_schema, où SQLite conserve chaque table, index, vue et déclencheur. Le fichier est lu avec l'API FileReader : rien n'est téléversé et aucune requête n'est exécutée.

    Choisissez le fichier .sqlite, .db ou .sqlite3 avec le bouton. L'en-tête apparaît sous forme de rapport JSON, les objets du schéma sous forme de tableau, et Effacer retire le fichier de la page. La page n'ouvre jamais les données des lignes : elle ne lit que la page 1 et les pages du schéma.

    1. Cliquez sur Choisir un fichier local et sélectionnez le fichier .sqlite, .db ou .sqlite3 à examiner.
    2. Lisez le rapport d'en-tête : nom du fichier, taille en octets, taille de page, nombre de pages, version d'écriture et de lecture, encodage du texte, format du schéma et application id.
    3. Vérifiez le tableau du schéma : une ligne par objet, avec son type, son nom et l'instruction CREATE telle que SQLite la conserve.
    4. Lisez les avertissements : un schéma vide y est expliqué et le nombre d'objets internes dont le nom commence par sqlite_ y est indiqué.
    5. Cliquez sur Effacer pour retirer le fichier de la page.

    Ce que l'inspecteur lit

    L'en-tête rapporté

    Le rapport reprend les cent premiers octets du fichier sous forme de champs nommés : bytes est la taille du fichier, page_size la taille de page déclarée (la valeur 1 signifie 65536) et pages la taille divisée par la taille de page. file_format_write_version et file_format_read_version valent 1 pour une base à journal rollback et 2 pour une base WAL ; text_encoding vaut UTF-8, UTF-16le, UTF-16be ou "not declared", exactement comme l'en-tête le déclare.

    schema_format et application_id proviennent du même bloc d'en-tête. Ils sont affichés en chiffres parce que c'est ce que contient le fichier ; la page n'interprète pas la signification d'un application id.

    Les objets du schéma

    Le tableau est lu dans l'arbre b sqlite_schema de la page 1, dans l'ordre de création des objets, et conserve le texte SQL tel quel, y compris les noms entre guillemets comme "user data", les noms non ASCII et les corps de déclencheur sur plusieurs lignes. Une table de 130 colonnes avec une clause CHECK de 6 Ko a été affichée en entier, et une base de 400 objets a listé les 400.

    Les objets que SQLite crée lui-même figurent aussi dans la liste : une colonne UNIQUE produit un index sqlite_autoindex_* et AUTOINCREMENT la table sqlite_sequence. Un avertissement indique combien de ces objets internes sont présents, pour ne pas les confondre avec vos objets.

    Ce qu'il ne peut pas dire

    Seul le fichier de base sélectionné est lu. En mode WAL, les dernières modifications peuvent encore se trouver dans le fichier -wal séparé, et cette page ne lit pas ce fichier annexe : un schéma créé dans une session WAL non checkpointée peut donc manquer. Les données des lignes ne sont jamais décodées : la page n'affiche pas le contenu des tables, n'exécute pas de contrôle d'intégrité et ne répare pas les fichiers.

    Un fichier qui ne commence pas par la signature SQLite format 3, un fichier de moins de 100 octets ou un en-tête déclarant une taille de page impossible sont refusés avec un message, et le rapport précédent est effacé pour que rien du fichier antérieur ne reste à l'écran.

    Outils récents :