首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt 5 ODBC驱动程序问题

Qt 5 ODBC驱动程序问题
EN

Stack Overflow用户
提问于 2013-01-08 09:48:02
回答 1查看 6.7K关注 0票数 3

我正在尝试在我的一个Qt5项目中使用ODBC驱动程序。

我编译了QODBC驱动程序,并将驱动程序dll复制到Qt\Qt5.0.0\5.0.0\msvc2010\plugins\sqldrivers文件夹中。

当我尝试以下代码时:

代码语言:javascript
复制
 QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");

我得到以下错误:

代码语言:javascript
复制
QSqlDatabase: QODBC driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC QODBC3

如果我尝试加载QODBC3,也会遇到同样的错误。

即使存在QODBCQODBC3驱动程序,Qt仍然无法加载QODBC驱动程序。

我运行的是Windows 7 (64位) PC。

有谁遇到过这样的错误吗?有什么问题的线索吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-25 09:30:20

我发现这个问题是由于编译odbc sql驱动程序时使用了不正确的Visual studio版本造成的。

我的电脑里有VS2008和VS2010。我的Qt5.0使用的是VS2010。但是,当我编译odbc sql驱动程序时,我使用的是VS2008。这就导致了这个问题。

Qt能够检测到sql odbc驱动程序,但无法加载它。

我通过使用VS2010重新编译odbc驱动程序解决了这个问题,并且odbc driver工作得很好。

以下是在Qt 5.0中编译和使用sql odbc驱动程序的步骤

  1. 打开qt命令提示符:
  2. 这可以在开始菜单中的Qt
  3. set vc++环境变量下找到:

代码语言:javascript
复制
- To do this , cd into to the C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\ folder and run vcvarsall.bat

需要注意的重要一点是,使用与Qt相同的Visual Studio版本编译驱动程序。

在\Qt5.0.0\5.0.0\Src\qtbase\src\plugins\sqldrivers\odbc源folder

  • qmake odbc.pro

  • nmake

中使用

  1. cd

代码语言:javascript
复制
- If it runs correctly, the  compiled qsqlodbc.dll and qsqlodbcd.dll will be available in \Qt5.0.0\5.0.0\Src\qtbase\plugins\sqldrivers folder.

  1. 部署基于qt的应用程序时,需要将qsqlodbc.dll (发行版)复制到sqldrivers文件夹中。
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14207088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档