Qt编译oracle数据库驱动oci
来源:互联网 发布:伺服电机plc编程实例 编辑:程序博客网 时间:2024/05/16 19:13
由与qt开源版本没有提供oracle数据库驱动,需要自己根据源代码来手动编译oracle驱动。
前言声明:qt编译的位数版本和数据库oracle的版本是密切相关的,qt是不提供64为系统的安装包的,所以在win7平台上多数是32位的,如果你的电脑是64位的,但是qt装了默认32位的,那么你的oracle只能装32位的,否则编译无法通过,会出现无法识别oci.dll的异常,这个问题我在编译和N遍后才发现的,在这里警惕!
一、工具准备(工具一定要一致,否则可能出现其他未知问题)
1、qt-opensource-windows-x86-mingw492-5.6.0.exe这个是我是用的qtSDK及里面包含的qtcreator
2、在安装的过程中切记把 src选项勾上,默认是不选的。
3、ORA+11+G+R2+server+32bit+for+windows.iso这是我使用的oracle数据库
二、编译生成oracle驱动
1、使用qtcreate打开下面目录的项目C:\Qt\Qt5.6.0\5.6\Src\qtbase\src\plugins\sqldrivers\oci每个人安装路径可能不一样,可根据自己的情况相应更改
需要强调的是在安装qt-opensource-windows-x86-mingw492-5.6.0.exe需要勾选src选项。才能有相应的src目录
打开后直接执行qmake。发现如上面出现的错误
解决方法:打开oci.pro文件
执行qmake->重新构建
没有错误出现了,仅仅是几个类型转换的警告。
表明已经生成成功。oracle相关驱动一生成成功
使用驱动连接数据库
把上面目录显得qsqloci.dll、qsqlocid.dll文件考到目录
F:\qt5.6\5.6\mingw49_32\plugins\sqldrivers
ps:目录根据具体安装而定,但后面部分都是一样的,别考错了
qt编写代码连接oracle数据库
//连接oracle数据库 QSqlDatabase db = QSqlDatabase::addDatabase("QOCI"); db.setPort(1521); db.setHostName("127.0.0.1"); db.setDatabaseName("ELEC"); db.setUserName("navston"); db.setPassword("navston"); if (db.open()) { qDebug()<< "链接远程数据库成功"; }else{ qDebug()<< "链接远程数据库失败"; } //查询语句 QSqlQuery query("SELECT * FROM test"); while (query.next()){ int no = query.value(0).toInt(); QString name = query.value(1).toString(); qDebug()<<no<<":"<<name; } db.close();
ok,下面附上我编译好的dll,大家可以拿过去测试一下
下载链接传送门下载驱动
- Qt编译oracle数据库驱动oci
- qt 编译oracle oci驱动
- Qt编译Oracle OCI驱动
- Qt编译Oracle OCI驱动
- qt编译oracle oci数据库驱动(一)
- QT编译oci 驱动
- 用 qt opensource 版本 追加编译 oracle 的 oci 驱动
- QT+MSVC2010编译32位ORACLE OCI驱动
- Qt编译Oracle数据库驱动
- QT5.7 编译oracle驱动oci centos7
- windows 下 Qt4.8编译oracle数据库OCI驱动 并使用
- WIN7+Qt5.2.0连接oracle数据库的oci驱动的编译
- WIN7+Qt5.2.0连接oracle数据库的oci驱动的编译
- Qt5.8以上版本编译Oracle数据库的OCI驱动教程
- Qt5.8以上版本编译Oracle数据库的OCI驱动教程
- QT编译oracle驱动
- Qt oci驱动Windows下编译及测试笔记
- 编译OCI驱动
- centos 7 linux系统安装 mysql5.7.17(glibc版)
- 问题解决:gradle project sync failed. basic functionality (e.g.editing, debugging )will not work properly
- java实现文件的压缩解决服务器(亲测windows server 2008)中文乱码
- DrawerLayout侧栏 加ViewPager +子布局横栏+XlistView
- LDAP 域操作
- Qt编译oracle数据库驱动oci
- 成员初始化语句块及执行顺序
- 【动态规划】[luoguP1156]垃圾陷阱
- 每个开发人员都应该知道的10个Linux命令
- CCF CSP认证考试历年真题 数字排序 C语言实现
- 常用正则表达式大全
- phpcms常用个调用代码
- 自定义时间选择器
- Spring事务的传播行为和隔离级别