gpt4 book ai didi

python - PySide + QtSql - 无法加载数据库驱动程序

转载 作者:太空宇宙 更新时间:2023-11-04 06:03:47 25 4
gpt4 key购买 nike

编辑:我不得不更改问题,因为我发现问题不仅与 ODBC 驱动程序有关,而且与所有驱动程序(如 MYSQL、SQLITE 等)有关。

所以问题是这样的:我尝试使用 PySide 和 QtSql 模块连接到数据库。

关键片段:

from PySide import QtGui
from PySide import QtSql
import sys

if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
db = QtSql.QSqlDatabase.addDatabase('QODBC')
# or others: QMYSQL, QSQLITE etc.
sys.exit(app.exec_())

当我尝试运行它时,我收到一条消息:

QSqlDatabase: QODBC driver not loaded
QSqlDatabase: available drivers:

当我尝试等效的 PyQt4 而不是 PySide 时,我没有收到任何消息,我认为这意味着 ODBC 驱动程序可用于 PyQt4。但是,不幸的是,由于许多其他原因,我无法将我的应用程序从 PySide 切换到 PyQt4。

当我查看 Python Lib 文件夹时,我可以看到 python-3.3.2\Lib\site-packages\PySide\plugins\sqldrivers 包含 DLL,包括 qsqlodbc4.dll。所以还缺少一些东西,我不知道是什么。

正如我所写,问题不仅在于 ODBC,还在于所有数据库驱动程序。

最佳答案

在此处的 stackoverflow 上找到了一个解决方案(涉及 PyQt 而不是 PySide,但它有效):PyQT can't find any SQL drivers

简而言之 - 在调用 addDatabase 之前放置这段代码:

site_pack_path = site.getsitepackages()[1]
QtGui.QApplication.addLibraryPath('{0}\\PySide\\plugins'.format(site_pack_path))

关于python - PySide + QtSql - 无法加载数据库驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23312446/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com