2012-03-10 39 views
41

Tôi có một vài tệp cơ sở dữ liệu sqlite. Tôi muốn biết phiên bản tệp cơ sở dữ liệu tức là nếu cơ sở dữ liệu được tạo bằng sqlite2 hoặc sqlite3 hoặc bất kỳ phiên bản chính/phụ nào khác (không phải thư viện sqlite hoặc trình điều khiển hoặc user_version hoặc schema_version).Cách tìm phiên bản tệp cơ sở dữ liệu SQLITE

+3

Bạn nên đánh dấu câu trả lời bình chọn cao nhất bên dưới là câu trả lời. – Fmstrat

+5

Tôi cầu xin sự khác biệt. OP nên chấp nhận câu trả lời trả lời câu hỏi của anh ta và giúp anh ta. Tất cả quá thường xuyên, đó không phải là câu trả lời phổ biến nhất, và đôi khi câu trả lời phổ biến nhất là không đúng. – Mawg

Trả lời

3

Bạn có thể trích xuất thông tin từ header file. Nó sẽ yêu cầu bạn mở tệp cơ sở dữ liệu 'bằng tay' nhưng tôi không biết liệu có hàm API để nhận thông tin này hay không.

45

Bạn có thể nhận được số phiên bản của một tập tin cơ sở dữ liệu của các Magic Header String: sqlite2

  • ==> đầu tiên 48 byte
  • sqlite3 ==> đầu tiên 16 byte

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

$ head -c 16 file3.db 
SQLite format 3 

Cách dễ dàng hơn là sử dụng file lệnh:

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

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

Đó là câu trả lời đúng duy nhất của câu hỏi, cảm ơn rất nhiều! –

0

Nếu bạn có một kết nối dữ liệu để nó trong Visual Studio, bạn có thể nhấp chuột phải vào cơ sở dữ liệu trong Server Explorer, chọn Properties, và phiên bản sẽ được hiển thị trong cửa sổ thuộc tính, (dưới Phiên bản, đáng ngạc nhiên). Bạn có thể cần phải nhấp chuột trái vào cơ sở dữ liệu trước để mở nó.

+0

Tôi nghĩ rằng OP đang hỏi về sqlite không sql-server. –

54

Bạn có thể viết lệnh này trong bất kỳ nhà thám hiểm sqlite mà sẽ cung cấp cho các phiên bản sqlite

select sqlite_version(); 
+21

Thao tác này sẽ trả về phiên bản thư viện chứ không phải phiên bản tệp cơ sở dữ liệu. – laalto

0

Tôi thấy điều này là phương pháp đơn giản nhất để xác định phiên bản của SQLite. Chạy Python IDLE Shell, sau đó làm như sau:

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

Trong trường hợp của tôi nó là 2.6.0. Hope this helps ... Đánh dấu

+1

fyi, để chạy Python IDLE Shell, chỉ cần gõ vào 'python' trong terminal, bạn sẽ thấy' >>> ' – thehme

+5

Điều này cho phiên bản của mô-đun, chứ không phải phiên bản SQLite. Để làm như vậy, sử dụng 'sqlite3.sqlite_version'. https://docs.python.org/3.5/library/sqlite3.html#module-functions-and-constants –

4

Câu trả lời đúng từ phiên bản 3 là:

sqlite3 --version 
-1

Bạn phải mở vỏ trăn sau đó viết các bước sau:

import sqlite3 

sqlite3.sqlite_version 
Các vấn đề liên quan