117 votes

Comment trouver la version du fichier de la base de données SQLITE

J'ai quelques fichiers de base de données sqlite. Je veux savoir la version du fichier de la base de données, c'est-à-dire si la base de données a été créée avec sqlite2 ou sqlite3 ou toute autre version principale/sub (pas la bibliothèque sqlite ou le pilote ou la version utilisateur ou la version schéma).

3 votes

Vous devez marquer la réponse la plus votée ci-dessous comme étant la réponse.

17 votes

Je ne suis pas d'accord. Le PO devrait accepter la réponse qui répond à sa question et l'aide. Trop souvent, ce n'est pas la réponse la plus populaire, et parfois la réponse la plus populaire est carrément fausse.

176voto

saurabh Points 76

Vous pouvez écrire cette commande dans n'importe quel explorateur sqlite qui donnera la version de sqlite

select sqlite_version();

74 votes

Cela renverra la version de la bibliothèque, et non la version du fichier de la base de données.

2 votes

Commentaire de @laalto confirmé par ce document officiel : sqlite.org/lang_corefunc.html#sqlite_version

0 votes

En effet, la fonction précédente dans le lien @Paolo fait référence à sqlite_source_id(), avec cela il suffit de voir la date de sortie de SQLite et vous pouvez obtenir la version

106voto

kev Points 41855

Vous pouvez obtenir le numéro de version d'un fichier de base de données par la fonction Magic Header String :

  • sqlite2 ==> 48 premiers octets
  • sqlite3 ==> 16 premiers octets

$ head -c 48 file2.db
** This file contains an SQLite 2.1 database **

$ head -c 16 file3.db
SQLite format 3

Le moyen le plus simple est d'utiliser le file commandement :

$ file file2.db
file2.db: SQLite 2.x database

$ file file3.db
file3.db: SQLite 3.x database

6 votes

C'est la seule réponse correcte à la question, merci beaucoup !

1 votes

La méthode naïve consiste à ouvrir le fichier avec Notepad++ (ne le faites pas si le fichier est lourd !).

0 votes

@PaoloFulgoni XVI32 est également un bon outil pour ces tâches.

38voto

galian Points 121

Obtenez user_version

Exécuter SQL : PRAGMA user_version;

Obtenez schema_version :

Exécuter SQL : PRAGMA schema_version;

Lors de la création du fichier de la base de données ( .db ), user_version peut être défini par l'utilisateur.

24voto

MSD561 Points 272

La réponse correcte de la version 3 du programme sqlite est :

sqlite3 --version

8 votes

Il s'agit de la version du programme sqlite3, et non de la version de la base de données créée par SQLite.

4voto

Pablo Santa Cruz Points 73944

Vous pouvez extraire les informations de l fichier d'en-tête . Il vous faudra ouvrir le fichier de la base de données "à la main", mais je ne sais pas s'il existe une fonction API pour obtenir cette information.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X