Access数据库-QODBC驱动程序对管理员执行授予

时间:2019-03-02 06:56:48

标签: c++ database qt ms-access qodbc

尝试对我的.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。

1 个答案:

答案 0 :(得分: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;