部署Qt的ODBC应用程序

问题描述:

我的应用程序使用Qt SQL这样部署Qt的ODBC应用程序

QSqlDatabase db = QSqlDatabase::addDatabase("QODBC"); 
db.setDatabaseName("DRIVER={Microsoft Access Driver (*.mdb)};DBQ="+QDir::currentPath()+"/database.mdb"); 

和所有其余的正在使用QSqlRelationalTableModel完成。

现在,部署阶段已经到来,该应用程序完美的作品Qt安装(4.6.3)的系统上,但在另一个干净系统,有这个错误,而装载数据库

"Driver not loaded" 

我知道这事做与复制ODBC插件...但简单地复制qsqlodbc4.dll到应用程序目录和

qApp->addLibraryPath(QDir::currentPath()); 

不起作用!

这是什么解决方案

注意:应用程序没有链接到驱动程序DLL,它使用Qt插件机制。

创建此目录结构与安装qt的pc上的目录结构相同。

your.app.dir /插件/ your.plugin.folder(即your.plugin.folder是sqldrivers)

复制你的插件下your.app.dir /插件/ your.plugin_folder

然后添加此代码

qApp->addLibraryPath(qApp->applicationDirPath() + "/plugins"); 

我希望这可以帮助。

+0

感谢它的工作! – yolo 2011-06-03 05:28:49