【发布时间】:2014-05-27 13:28:51
【问题描述】:
我曾经有一个使用以下代码连接到 MS Access 数据库(名为 JSpo2014.accbd)的 Qt 应用程序:
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
db.setDatabaseName("Driver={Microsoft Access Driver (*.mdb, *.accdb)};FIL={MS Access};DSN='';DBQ=C:\\2014\\bd\\JSpo2014.accdb");
db.open();
我的 Qt 应用程序是使用 Qt Creator 开发的,使用 Qt5.3.0 for MinGW x86。
它曾经在这些配置上运行良好:
- 安装了 Office 2010x86 的 WinXP
- 安装了 Office 2010x86 的 Win7x86
- 安装了 Office 2013x86 的 Win7x86
但它不处理任何这些配置:
- Win7x64 和 Office 2010x86
- Win7x64 和 Office 2013x86
- Win7x64 与 Office 2013x64
我收到以下错误消息:
"[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified"
"QODBC3: Unable to connect"
如何让它在安装了 Office 的 Win7x64 上运行?
【问题讨论】:
-
您是否将数据库驱动程序 dll 放在可执行文件旁边名为 sqldrivers 的文件夹中?
-
@Nejat :我面临的问题甚至在任何部署之前,它都在 Qt Creator 环境中。
-
我想知道这是不是一个简单的错字,您的 DBQ 路径中有 \\bd\\,这真的应该是“数据库”的 \\db\\ 吗?
-
@Lucretius :感谢您的评论。这不是错字,它是“base de données”(法语数据库)的法语缩写! :-)