QT中ODBC连接数据库提示QSqlDatabase: QODBC driver not loaded

zhangjin512 2011-07-27 04:26:50
各位大侠,小弟是QT菜鸟
在QT中用ODBC驱动连接ACCESS数据库时,总是会提示driver not loaded!
经代码测试未发现QODBC的驱动。

源程序如下,调试环境WINDOWSXP + Qt 4.7.3 for desktop - MinGw 4.4 :
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
qDebug() << db.lastError();
QString dsn = QString("DRIVER={Microsoft Access Driver (*.mdb)};FIL={MS Access};DBQ=DB.mdb");
db.setDatabaseName(dsn);
if(!db.open()) { //此处每次都会打开失败
QMessageBox::critical(0, QObject::tr("Database Error"),db.lastError().text());
return false;
}
else
{
QMessageBox::information(0,"hello world","Open Database success!",QMessageBox::Ok);
}

请问:如何能加载ODBC驱动呢?麻烦知道的大侠描述详细点,感激不尽~!!!
...全文
7553 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
土豆的番茄酱 2014-03-02
  • 打赏
  • 举报
回复
按照楼主的方法顺利解决,楼主给力!
起个名字好难 2013-12-17
  • 打赏
  • 举报
回复
楼上解决了么
morrin007 2013-11-05
  • 打赏
  • 举报
回复
请教:我用的是Qt5,访问sql server数据库,我已按照楼主的方法来做,可为什么还是会提示错误:qodbc driver not loaded。
alily12 2013-05-27
  • 打赏
  • 举报
回复
我也遇到过相似的问题,纠结了很长一段时间,最后终于解决了,原因是我在工程文件目录里添加了QtCored4.dll文件,把这个删了之后再编译就正常了。
supermanyuan 2012-03-06
  • 打赏
  • 举报
回复
我也想要
  • 打赏
  • 举报
回复
感谢了
shayucm1 2011-09-18
  • 打赏
  • 举报
回复
非常感谢楼主的无私奉献
泉州奇趣 2011-08-02
  • 打赏
  • 举报
回复
兄台 我也被这个问题困扰 能否把你的源码发来我看看 借鉴一下 邮箱420478805@qq.com
zhangjin512 2011-07-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 weihua1984 的回复:]
odbc设置数据源没?
QODBC是要安装的
[/Quote]
不会吧,我只是用ODBC的驱动连接ACCESS数据库,用不着装个MYSQL吧。
ODBC已经设置了数据源,程序还是提示“QODBC driver not loaded”
zhangjin512 2011-07-28
  • 打赏
  • 举报
回复 1
经过自己不断查资料,已经解决了,折腾几天了
感谢以上两位大侠帮助。

还是写出解决办法,供以后跟我一样的菜鸟们参考:
1、安装QT Libraries 4.7.3 for windows(到NOKIA QT官网去下载qt-win-opensource-4.7.3-mingw.exe)
2、安装完成后,在目录C:\Qt\4.7.3\plugins\sqldrivers下找到ODBC的4个驱动文件;
3、在个人QT工程的目标程序目录下建立文件夹sqldrivers,并将这4个驱动文件放进去。(本人所存放路径D:\DEMO\demo-build-desktop\debug\sqldrivers\,供大家参考,注意:文件夹名字一定要是sqldrivers)

做完以上步骤后,再运行你的程序,就可以顺利利用ODBC访问数据库啦~~

我目前就可以运行了,如果菜鸟们按照以上步骤还是不能正常运行的话,我也没办法了,仅供参考,如有不对的地方,往高手指点。
风声边界 2011-07-27
  • 打赏
  • 举报
回复
就是odbc必须有mysql的驱动,然后配置数据源
风声边界 2011-07-27
  • 打赏
  • 举报
回复
odbc设置数据源没?
QODBC是要安装的
zhangjin512 2011-07-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 luoxinwu123 的回复:]
试一下去下载一个qt的ODBC driver的dll文件。据我所知,QT的安装包里只带了sqlite的driver。
[/Quote]
试过了,把qsqlodbc4.dll qsqlodbcd4.dll所有相关的依赖的动态库全部找到了,放到了mingw\plugins\sqldrivers目录下还是不行。

zhangjin512 2011-07-27
  • 打赏
  • 举报
回复
咋没人回帖呢,自己顶一个。
小弟在线坐等。。。。。。。。。。。
luoxinwu123 2011-07-27
  • 打赏
  • 举报
回复
试一下去下载一个qt的ODBC driver的dll文件。据我所知,QT的安装包里只带了sqlite的driver。

16,812

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧