У меня есть простая программа на qt, и что эта программа делает, чтобы открыть \ прочитать базу данных доступа Microsoft (.mdb или .accdb) и отобразить таблицы базы данных.
однако моя проблема в том, что я даже не могу открыть БД в первую очередь
У меня есть база данных, расположенная на диске c (C: \ Qt_Project \ Database1.accdb)
в (.pro) файле, который я включил QT += core gui sql
включены библиотеки:
#include <QSqlDatabase>
#include <QDebug>
#include <QSqlError>
мой код:
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC","AccessDB");
db.setDatabaseName("DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};FIL={MS Access};DBQ=C://Qt_Project//Database1.accdb");
if(db.open())
qDebug() << "oK";
else
qDebug() << db.lastError().text();
и, наконец, мой вывод
"[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified QODBC3: Unable to connect"
Я запутался в Интернете об этой проблеме, с которой сталкиваюсь, и, возможно, "не уверен", что это из-за реестра, потому что я обычно использую чистящее средство для чистки своего компьютера, которое также очищает реестр
помогите, пожалуйста, спасибо
edit: когда я использую код bool ok = QSqlDatabase::isDriverAvailable("QODBC");
, он восстанавливает true
, что означает, что с драйвером проблем нет