Qt 5 ODBC驱动程序问题



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

我编译了QODBC驱动程序,并将驱动程序dll复制到QtQt5.0.05.0.0msvc2010pluginssqldrivers文件夹中。

当我尝试以下代码时:

 QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");

我得到以下错误:

QSqlDatabase: QODBC driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC QODBC3

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

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

我用的是Windows 7(64位)电脑。

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

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

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

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

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

以下是在Qt 5.0 中编译和使用sql odbc驱动程序的步骤
  1. 打开qt命令提示符
  2. 这可以在Qt
  3. 的开始菜单中找到
  4. 设置vc++环境变量:

      要做到这一点,cd到C:Program Files (x86)Microsoft Visual Studio 10.0VC文件夹,并运行vcvarsall.bat
      需要注意的重要一点是,编译驱动程序时使用与Qt使用的Visual Studio相同的版本。
  5. cd into Qt5.0.05.0.0Srcqtbase Src pluginssqldriversodbc源文件夹

  6. qmake odbc.pro

  7. nmake

    • 如果运行正常,则编译后的qsqlodbc.dll和qsqlodbcd.dll .dll . exe文件将被加载将在Qt5.0.05.0.0Srcqtbasepluginssqldrivers文件夹中提供。
  8. 在部署基于qt的应用程序时,需要将qsqlodb .dll(发布版本)复制到sqldrivers文件夹中。

相关内容

  • 没有找到相关文章

最新更新