您的位置:首页 > 数据库 > Oracle

关于QT编译ORACLE驱动的问题

2014-03-24 11:34 429 查看
刚开始用QT,需要与ORACLE链结,可是QT没有自带ORACLE的驱动,需要自己编译。网上查了很久也没弄出来,感觉大家写的都比较简单,几经周折终于编译成功,和大家分享一下,希望会对像我这样刚接触QT和ORACLE的同学带来帮助。因为没有驱动所以报错一直是QSqlDatabase: QOCI driver not loaded首先可以参考这篇文章设置环境变量等http://wenku.baidu.com/link?url=ccunEGgWOHyJu9tI-vK_wuYjhEC34GG0aWoRLjTuSWSs5I568JyH-Ug80qt66Sc-9bws6TT2PwXzgiD9_Tdke38A0BG8v3JVFcth_GxZljO记住打开oci.pro之后在.pro文件中添加(我的oracle装在F盘)
INCLUDEPATH += F:\oracle\product\10.2.0\db_1\OCI\include
LIBPATH += F:\oracle\product\10.2.0\db_1\OCI\lib\MSVC
然后运行,我的是出现下面的代码
Starting C:\Qt\Qt5.2.1\Tools\mingw48_32\bin\mingw32-make.exe...C:/Qt/Qt5.2.1/Tools/mingw48_32/bin/mingw32-make -f Makefile.Debug allmingw32-make[1]: Entering directory 'C:/Qt/Qt5.2.1/5.2.1/Src/qtbase/src/plugins/sqldrivers/build-oci-Desktop_Qt_5_2_1_MinGW_32bit-Debug'mingw32-make[1]: Nothing to be done for 'all'.mingw32-make[1]: Leaving directory 'C:/Qt/Qt5.2.1/5.2.1/Src/qtbase/src/plugins/sqldrivers/build-oci-Desktop_Qt_5_2_1_MinGW_32bit-Debug'C:/Qt/Qt5.2.1/Tools/mingw48_32/bin/mingw32-make -f Makefile.Release allmingw32-make[1]: Entering directory 'C:/Qt/Qt5.2.1/5.2.1/Src/qtbase/src/plugins/sqldrivers/build-oci-Desktop_Qt_5_2_1_MinGW_32bit-Debug'mingw32-make[1]: Nothing to be done for 'all'.mingw32-make[1]: Leaving directory 'C:/Qt/Qt5.2.1/5.2.1/Src/qtbase/src/plugins/sqldrivers/build-oci-Desktop_Qt_5_2_1_MinGW_32bit-Debug'C:\Qt\Qt5.2.1\Tools\mingw48_32\bin\mingw32-make.exe exited with code 0这时编译好的文件会出现在C盘根目录plugins文件夹下,分别为libqsqloci.a,libqsqlocid.a,qsqloci.dll,qsqlocid.dll四个文件,然后把他们复制到C:\Qt\Qt5.2.1\5.2.1\mingw48_32\plugins\sqldrivers(我用的QT是5.2.1,ORACLE是10G,网上大部分不是5.2.1版本,所以路径什么的大家自己找一下,不要弄错了)我用下面的代码测试,表明链接成功int main(int argc, char *argv[])
{   //连接数据库
QSqlDatabase db = QSqlDatabase::addDatabase("QOCI");
db.setHostName("XZ-20131019YFCP");
db.setDatabaseName("orcl");
db.setUserName("system");
db.setPassword("gaowei553151883");
if (db.open()) {qDebug()<< "链接远程数据库成功";}
else{qDebug()<< "链接远程数据库失败";
};
}祝大家成功~
                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle qt