在使用Python2.6.6打开.svn/wc.db时出现“格式不正确的数据库模式”
我正在尝试用Python获取我的工作副本(使用的是Subversion)的版本号。我的Python版本是2.6.6,下面是我的代码:
import sqlite3
conn = sqlite3.connect("wc.db")
cursor = conn.cursor()
record = cursor.execute("SELECT revision FROM NODES LIMIT 1")
print record
运行后,我得到了:
traceback (most recent call last):
File "get_revision.py", line 5, in <module>
record = cursor.execute("SELECT revision FROM NODES LIMIT 1")
sqlite3.DatabaseError: malformed database schema (nodes_update_checksum_trigger) - near "OLD": syntax error
这是不是意味着Python 2.6.6中的sqlite3版本太旧了?我查了一下:
Python 2.6.6 (r266:84297, Aug 24 2010, 18:46:32) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlite3
>>> sqlite3.version
'2.4.1'
>>>
1 个回答
1
是的,我觉得你说得对:这意味着你用来读取数据库文件的SQLite3版本比写这个数据库文件的版本要旧。
我在用Python读取Chrome/Chromium的“本地存储”时也遇到过同样的问题。我的Python版本(3.5.2)可以读取Chrome或Chromium版本55或更早写的本地存储文件,但如果是Chromium版本57写的,就读不了,出现的错误和你遇到的一样: “数据库结构格式错误”。