1

尝试使用我的 .accdb 文件执行以下语句时:

grant select on MSysObjects to Admin;

我从 QSqlError::text() 得到以下信息:

encountered SQL Error [[Microsoft][ODBC Microsoft Access Driver] Cannot open the Microsoft Access database engine workgroup information file. ODBC3: Unable to execute statement]

我了解如果您的 System.mdw 文件损坏或丢失,此问题可能会在 .net 环境中显现。上述文件存在于以下目录中:

C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Access

我正在尝试使用 Qt 框架使用 QODBC 运行 SQL 查询。这是 Qt 框架的一些限制吗?还是我在这里遗漏了一些明显的东西?我尝试将 System.mdw 文件移动到我的应用程序 bin 目录中,以查看是否有帮助(认为应用程序可能无法找到有问题的文件),但不幸的是它没有任何区别。

我正在使用 Qt 5.12.0。

4

1 回答 1

0

我需要将参数SystemDB添加到我的连接字符串中以消除此错误,如下页Microsoft Access accdb ODBC 驱动程序下的连接字符串中所述: https ://www.connectionstrings.com/access/

Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=C:\mydatabase.accdb;
SystemDB=C:\mydatabase.mdw;
于 2019-03-10T09:01:24.453 回答