Jenkins Job - DatabaseError:文件已加密或不是数据库

Sam*_*Sam 14 python sqlite jenkins

运行此代码以通过cmd连接到db时 - 在本地和实际服务器上运行正常.但我已经在Jenkins上设置它并收到错误:

DatabaseError: file is encrypted or is not a database
Run Code Online (Sandbox Code Playgroud)

这似乎发生在这条线上:

  self.cursor.execute(*args)
Run Code Online (Sandbox Code Playgroud)

数据库类是:

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()
Run Code Online (Sandbox Code Playgroud)

小智 2

python sqlite3 和命令行 sqlite3 的版本可以不同。从脚本创建数据库,即在脚本中编写数据库初始化代码,而不是从 CMD 编写,它可能会解决问题。