Qt5 ODBC驱动程序问题

Qt5 ODBC驱动程序问题,qt,odbc,qt5,Qt,Odbc,Qt5,我正在尝试在我的一个Qt5项目中使用ODBC驱动程序 我编译了QODBCdriver并将驱动程序DLL复制到Qt\Qt5.0.0\5.0.0\msvc2010\plugins\sqldrivers文件夹 当我尝试以下代码时: QSqlDatabase db = QSqlDatabase::addDatabase("QODBC"); 我得到以下错误: QSqlDatabase: QODBC driver not loaded QSqlDatabase: available drivers: Q

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

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

当我尝试以下代码时:

 QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
我得到以下错误:

QSqlDatabase: QODBC driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC QODBC3
如果尝试加载
QODBC3
,则会遇到相同的错误

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

我正在运行Windows 7(64位)PC


有人遇到过这样的错误吗?有什么线索可能是错的吗

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

我的电脑里有VS2008和VS2010。我的Qt5.0使用的是VS2010。但是当我编译ODBCSQL驱动程序时,我使用了VS2008。这就造成了问题

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

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

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

  • 打开qt命令提示符:
  • 这可以在Qt下的开始菜单中找到
  • 设置vc++环境变量:

    • 要执行此操作,请将cd放入C:\Program Files(x86)\Microsoft Visual Studio 10.0\VC\文件夹,然后运行vcvarsall.bat
      需要注意的重要一点是,使用Qt使用的相同版本的visualstudio编译驱动程序
  • 将cd放入\Qt5.0.0\5.0.0\Src\qtbase\Src\plugins\sqldrivers\odbc源文件夹

  • qmake odbc.pro

  • nmake

    • 如果运行正确,则编译的qsqlodbc.dll和qsqlodbcd.dll 将在\Qt5.0.0\5.0.0\Src\qtbase\plugins\sqldrivers文件夹中提供
  • 在部署基于qt的应用程序时,需要将qsqlodbc.dll(发布版本)复制到sqldrivers文件夹