我在使用 Qt 4.7.4 的 Windows 8 上(不要问为什么:p)我正在尝试使用这行代码连接到 Access 数据库
db = QSqlDatabase::addDatabase("QODBC");
db.setDatabaseName("DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};FIL={MS Access};DBQ=MSG.accdb");
if (db.open()) {
qDebug() << "connected";
return true;
}
else
{
QSqlError error = db.lastError();
qDebug() << error.databaseText();
qDebug() << error.driverText();
return false;
}
当然它没有连接,IQ得到以下信息:
应用程序“C:\Program Files (x86)\Common Files\Microsoft Shared\office14\mso.dll”在缓存
“[Microsoft][Pilote ODBC Microsoft Access] Nom de fichier 不正确”中找不到。
“QODBC3:无法连接”
文件 MSG.accdb 就在构建文件夹的根目录
我检查了文件夹“C:\Program Files (x86)\Common Files\Microsoft Shared\office14\”,并在那里找到了 MSO.DLL 文件。