qt连接oracle


qt连接oracle


作者:bjoern
来源:CSDN
版权声明:本文为博主原创文章,未经博主允许不得转载。

声明:qt编译的位数版本和数据库oracle的版本是密切相关的,如果你的电脑是64位的,但是qt装了默认32位的,那么你的oracle只能装32位的,否则编译无法通过,会出现无法识别oci.dll的异常,这个问题我在编译N遍后才发现的,在这里警惕!

一、使用QOCI连接oracle(亲测ok)(服务器、客户端都在windows系统下)
主要代码如下:
qt连接oracle_第1张图片
构建ok,运行时会报错
qt连接oracle_第2张图片
这时就需要编译oracle数据库驱动oci(我在win10 64位环境下运行的,win7也ok)
1、工具准备(工具一定要一致,否则可能出现其他未知问题)
【1】QT5.7:qt-opensource-windows-x86-mingw530-5.7.1.exe(个人感觉其他32位版本的一样操作,并未尝试)
【2】在安装的过程中切记把 source选项勾上,默认是不选的。
【3】安装oracle11g,32位,编码、字符集都为ZHS16GBK

2、编译生成oracle驱动(每个人的安装路径可能不同,请注意)
【1】确认相关文件存在:C:\Qt\Qt5.7.0\5.7\Src\qtbase\src\sql\drivers\oci
qt连接oracle_第3张图片
【2】双击C:\Qt\Qt5.7.0\5.7\Src\qtbase\src\plugins\sqldrivers\oci目录下的oci.pro
【3】在oci.pro中加入两行:
INCLUDEPATH += C:\app\bjoern\product\11.2.0\dbhome_1\OCI\include
LIBPATH += C:\app\bjoern\product\11.2.0\dbhome_1\OCI\lib\MSVC
qt连接oracle_第4张图片
【4】清除、执行qmake、构建
【5】在C:\Qt\Qt5.7.0\5.7\Src\qtbase\plugins\sqldrivers中发现编译好的文件
qt连接oracle_第5张图片
【6】将5中的两个dll文件放入C:\Qt\Qt5.7.0\5.7\mingw53_32\plugins\sqldriversqt连接oracle_第6张图片
【7】编译驱动完成


二、用QODBC连接Oracle,这个比较简单,但是中文乱码(问题未解决)
在目录:C:\Windows\SysWOW64下找到odbcad32.exe,添加odbc配置
qt连接oracle_第7张图片
qt连接oracle_第8张图片

希望各位指出错误,如果已有相关问题的解决方法,请告知,谢谢

你可能感兴趣的:(QT)