Cómo encontrar la versión del archivo de la base de datos SQLITE

82

Tengo pocos archivos de base de datos sqlite. Quiero saber la versión del archivo de la base de datos, es decir, si la base de datos se creó con sqlite2 o sqlite3 o cualquier otra versión principal / secundaria (no la biblioteca sqlite, el controlador, la versión de usuario o la versión de esquema).

Srikanth S
fuente
3
Debe marcar la respuesta más votada a continuación como la respuesta.
Fmstrat
14
Siento disentir. OP debería aceptar la respuesta que respondió a su pregunta y lo ayudó. Con demasiada frecuencia, esa no es la respuesta más popular y, en ocasiones, la respuesta más popular es totalmente incorrecta.
Mawg dice reinstalar a Monica

Respuestas:

119

Puede escribir este comando en cualquier explorador sqlite que le dará la versión sqlite

select sqlite_version();
saurabh
fuente
49
Esto devolverá la versión de la biblioteca, no la versión del archivo de la base de datos.
laalto
Comentario de @laalto confirmado por este documento oficial: sqlite.org/lang_corefunc.html#sqlite_version
Paolo Fulgoni
De hecho, la función anterior en el enlace @Paolo se refiere a sqlite_source_id (), con eso solo tiene que ver la fecha de lanzamiento de SQLite y puede obtener la versión
olivier houssin
4
Si bien esta no es una respuesta a la pregunta, vine aquí desde Google buscando esta respuesta…
o0 '.
85

Puede obtener el número de versión de un archivo de base de datos mediante Magic Header String:

  • sqlite2 ==> primeros 48 bytes
  • sqlite3 ==> primeros 16 bytes

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

$ head -c 16 file3.db
SQLite format 3

La forma más fácil es usar el filecomando:

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

$ file file3.db
file3.db: SQLite 3.x database
kev
fuente
5
Esa es la única respuesta correcta a la pregunta, ¡muchas gracias!
Jérôme B
La forma ingenua es abrir el archivo con Notepad ++ (¡no hagas esto si el archivo es grande!)
Paolo Fulgoni
@PaoloFulgoni XVI32 también es una buena herramienta para estas tareas.
Nils Lindemann
21

Obtenga user_version: ejecute sql: PRAGMA user_version;

Obtener versión_esquema: PRAGMA schema_version;

Cuando se crea un archivo de base de datos (.db), el usuario puede configurar user_version.

galian
fuente
18

La respuesta correcta de la versión 3 del programa sqlite es:

sqlite3 --version
MSD561
fuente
2
Esta es la versión del programa sqlite3, no la versión de la base de datos creada por SQLite.
Matt Chan
4

Puede extraer la información del archivo de encabezado . Requerirá que abra el archivo de la base de datos 'a mano' pero no sé si hay una función API para obtener esta información.

Pablo Santa Cruz
fuente
1

Tienes que abrir el shell de Python y luego escribir estos pasos:

import sqlite3

sqlite3.sqlite_version
Techgeeks1
fuente
Esto le da la versión sqlite3 utilizada por Python.
John Go-Soco
Puede que no sea correcto para algunos usuarios, pero debo señalar que en mi caso, usando Django en Ubuntu 18.04, en realidad fue la única forma en que funcionó. Intentar "sqlite3 --version" en el shell de comandos, curiosamente, afirmaría que sqlite3 no estaba instalado, mientras que hacerlo dentro de python me dijo qué versión estaba usando django / python, que es lo que estaba buscando.
rossdavidh
0

Si tiene una conexión de datos en Visual Studio, puede hacer clic con el botón derecho en la base de datos en el Explorador de servidores, seleccionar propiedades y la versión se mostrará en la ventana de propiedades (en Versión, sorprendentemente). Es posible que primero deba hacer clic con el botón izquierdo en la base de datos para abrirla.

George Williams
fuente
1
Creo que OP está preguntando sobre sqlite, no sobre sql-server.
Kshitiz Sharma
0

Encontré que este es el método más fácil para determinar la versión de sqlite. Ejecute Python IDLE Shell, luego haga lo siguiente:

>>> import sqlite3
>>> sqlite3.version
'2.6.0'

En mi caso fue 2.6.0. Espero que esto ayude ... Mark

marca
fuente
2
Para su información, para ejecutar Python IDLE Shell, simplemente escriba en pythonla terminal, luego verá>>>
thehme
9
Esto da la versión del módulo, no la versión de SQLite. Para hacerlo, use sqlite3.sqlite_version. docs.python.org/3.5/library/…
Bertrand Bordage
0

Ver archivo manual

sqlite3.version El número de versión de este módulo, como una cadena. Esta no es la versión de la biblioteca SQLite.

sqlite3.version_info El número de versión de este módulo, como una tupla de enteros. Esta no es la versión de la biblioteca SQLite.

sqlite3.sqlite_version El número de versión de la biblioteca SQLite en tiempo de ejecución, como una cadena.

sqlite3.sqlite_version_info El número de versión de la biblioteca SQLite en tiempo de ejecución, como una tupla de enteros.

341152 Chyi
fuente