【发布时间】:2018-09-08 07:58:41
【问题描述】:
当运行此代码以通过 cmd 连接到数据库时 - 在本地和实际服务器上它工作正常。但我已经在 Jenkins 上设置它并收到错误:
DatabaseError: file is encrypted or is not a database
似乎发生在这一行:
self.cursor.execute(*args)
数据库类是:
class DatabaseManager(object):
def __init__(self, db):
self.conn = sqlite3.connect(db)
self.cursor = self.conn.cursor()
def query(self, *args):
self.cursor.execute(*args)
self.conn.commit()
return self.cursor
def __del__(self):
self.conn.close()
【问题讨论】:
-
您是否使用了 db 文件的绝对路径? Jenkins 用户是否拥有对 db 文件的写入权限?