Доступ к базе данных - драйвер QODBC выполняет разрешение на администратора - PullRequest
0 голосов
/ 02 марта 2019

При попытке выполнить следующую инструкцию с моим файлом .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]

Я понимаючто эта проблема может проявиться в среде .net, если у вас есть поврежденный или отсутствующий файл System.mdw.Вышеупомянутый файл существует для меня в следующем каталоге:

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

Я пытаюсь выполнить SQL-запросы, используя QODBC, используя Qt Framework.Это какое-то ограничение каркаса Qt?Или я что-то упускаю здесь очевидное?Я попытался переместить файл System.mdw в каталог bin моего приложения, чтобы посмотреть, поможет ли это (думая, что, возможно, приложение не может найти нужный файл), но, к сожалению, это не имеет значения.

Я используюQt 5.12.0.

1 Ответ

0 голосов
/ 10 марта 2019

Мне нужно было добавить параметр SystemDB в строку подключения, чтобы устранить эту ошибку, как указано в строке подключения в разделе Microsoft Access accdb ODBC Driver на следующей странице: https://www.connectionstrings.com/access/

Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=C:\mydatabase.accdb;
SystemDB=C:\mydatabase.mdw;
...