SQLITE veritabanı dosyası sürümü nasıl bulunur


82

Birkaç sqlite veritabanı dosyam var. Veritabanı dosyası sürümünü, yani veritabanının sqlite2 veya sqlite3 veya başka bir ana / alt sürümle (sqlite kitaplığı veya sürücü veya user_version veya schema_version değil) oluşturulmuş olup olmadığını bilmek istiyorum.


3
Aşağıdaki en yüksek oyu alan cevabı cevap olarak işaretlemelisiniz.
Fmstrat

14
Naçizane size katılmıyorum. OP sorusuna cevap veren ve ona yardım eden cevabı kabul etmelidir. Çoğu zaman, bu en popüler cevap değildir ve bazen en popüler cevap tamamen yanlıştır.
Mawg, Monica'nın

Yanıtlar:


122

Bu komutu, sqlite versiyonunu verecek herhangi bir sqlite explorer'a yazabilirsiniz.

select sqlite_version();

50
Bu, veritabanı dosyası sürümünü değil kitaplık sürümünü döndürür.
laalto

@laalto yorumu bu resmi belge tarafından onaylandı: sqlite.org/lang_corefunc.html#sqlite_version
Paolo Fulgoni

Nitekim, @Paolo bağlantısındaki önceki işlev sqlite_source_id () 'ye atıfta bulunur, bununla birlikte SQLite yayın tarihini görmeniz gerekir ve sürümü alabilirsiniz
olivier houssin

4
Bu sorunun cevabı olmasa da, google'dan buraya bu cevabı arayarak geldim …
o0 '.

87

Bir veritabanı dosyasının sürüm numarasını şu şekilde alabilirsiniz Magic Header String:

  • sqlite2 ==> ilk 48 bayt
  • sqlite3 ==> ilk 16 bayt

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

$ head -c 16 file3.db
SQLite format 3

Daha kolay yol şu filekomutu kullanmaktır :

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

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

5
Sorunun tek doğru cevabı bu, çok teşekkürler!
Jérôme B

Saf yol, dosyayı Notepad ++ ile
açmaktır (

@PaoloFulgoni XVI32 de bu görevler için güzel bir araçtır.
Nils Lindemann

22

User_version alın: sql çalıştırın: PRAGMA user_version;

Schema_version'ı alın: PRAGMA schema_version;

Veritabanı dosyası (.db) oluştururken, user_version kullanıcı tarafından ayarlanabilir.


19

Sqlite programının 3. versiyonundan doğru cevap:

sqlite3 --version

2
Bu, sqlite3 programının sürümüdür, SQLite tarafından oluşturulan veritabanının sürümü değildir.
Matt Chan


1

Bunu sqlite sürümünü belirlemenin en kolay yöntemi olarak buldum. Python IDLE Shell'i çalıştırın, ardından aşağıdakileri yapın:

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

Benim durumumda 2.6.0 idi. Umarım bu yardımcı olur ... Mark


2
fyi, Python IDLE Shell'i çalıştırmak için, sadece pythonterminale yazın, sonra göreceksiniz>>>
thehme

9
Bu, modülün sürümünü verir, SQLite sürümünü değil. Bunu yapmak için kullanın sqlite3.sqlite_version. docs.python.org/3.5/library/…
Bertrand Bordage

1

Python kabuğunu açmanız ve ardından şu adımları yazmanız gerekir:

import sqlite3

sqlite3.sqlite_version

Bu size Python tarafından kullanılan sqlite3 sürümünü verir.
John Go-Soco

Bazı kullanıcılar için doğru olmayabilir, ancak benim durumumda, Ubuntu 18.04'te Django kullanmanın aslında işe yarayan tek yol olduğunu belirtmeliyim. Garip bir şekilde komut kabuğunda "sqlite3 --version" ı denemek, sqlite3'ün kurulu olmadığını iddia ederdi, oysa python içinde yapmak bana django / python'un hangi sürümünü kullandığını söyledi, ki aradığım buydu.
rossdavidh

0

Visual Studio'da bununla bir veri bağlantınız varsa, Sunucu Gezgini'nde veri tabanına sağ tıklayabilir, özellikleri seçebilir ve sürüm özellikler penceresinde (Sürüm altında şaşırtıcı bir şekilde) gösterilecektir. Açmak için önce veritabanına sol tıklamanız gerekebilir.


1
Bence OP, sql-server'ı değil sqlite'ı soruyor.
Kshitiz Sharma

0

Manuel dosyayı kontrol edin

sqlite3.version Bu modülün dizge olarak sürüm numarası. Bu, SQLite kitaplığının sürümü değildir.

sqlite3.version_info Bu modülün tam sayıların bir demeti olarak sürüm numarası. Bu, SQLite kitaplığının sürümü değildir.

sqlite3.sqlite_version Çalışma zamanı SQLite kitaplığının bir dizge olarak sürüm numarası.

sqlite3.sqlite_version_info Tamsayıların bir demeti olarak çalışma zamanı SQLite kitaplığının sürüm numarası.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.