使用 Python2.6.6 打开 .svn/wc 时.db "malformed database schema"



我试图使用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'
>>>

是的,我认为你是正确的:我认为这意味着编写数据库文件的SQLite3版本比您试图读取它的版本更新。

我在从Python读取Chrome/Chromium"本地存储"时遇到了同样的问题。我的Python(版本3.5.2)副本可以读取本地存储文件,如果它是由Chrome或Chromium版本55或更早版本编写的,但如果它是由Chromium版本57编写的,则不可以,并且我得到的错误与您得到的错误相同:"格式错误的数据库模式"

最新更新