我正在尝试在我的一个Qt5项目中使用ODBC驱动程序。
我编译了QODBC
驱动程序并将驱动程序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。
有人遇到过这样的错误吗?什么可能是错的线索?
答案 0 :(得分:5)
我发现问题是由编译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驱动程序的步骤
设置vc ++环境变量:
cd进入\ Qt5.0.0 \ 5.0.0 \ Src \ qtbase \ src \ plugins \ sqldrivers \ odbc源文件夹
qmake odbc.pro
nmake