我的应用程序以这种方式使用Qt SQL
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
db.setDatabaseName("DRIVER={Microsoft Access Driver (*.mdb)};DBQ="+QDir::currentPath()+"/database.mdb");
其余所有内容均使用QSqlRelationalTableModel
完成。
现在部署阶段已经到来,应用程序在安装Qt(4.6.3)的系统上完美运行,但在另一个 clean 系统上,加载数据库时出现此错误
"Driver not loaded"
我知道这与复制ODBC插件有关...但只需将qsqlodbc4.dll
复制到app dir和
qApp->addLibraryPath(QDir::currentPath());
不起作用!!
这是什么解决方案?
注意:该应用未链接到驱动程序DLL,它使用Qt插件机制。
答案 0 :(得分:3)
创建此目录结构,与安装qt的电脑上的目录结构相同。
your.app.dir / plugins / your.plugin.folder(即your.plugin.folder是sqldrivers)
将您的插件复制到your.app.dir / plugins / your.plugin_folder
下然后添加此代码
qApp->addLibraryPath( qApp->applicationDirPath() + "/plugins");
我希望这会有所帮助。