Qt使用Oracle数据库的方式

因为版权问题,Qt本身不自带Oracle数据库的驱动,因此如果想要借用Qt操作Oracle数据库,需要手动进行编译。

使用Qt编译支持oracle的驱动库

编译的前期准备是:源码 + Oracle客户端
步骤如下:

  1. 打开oci文件夹(目录参考C:\Qt\Qt5.5.1\5.5\Src\qtbase\src\plugins\sqldrivers\oci,具体的目录根据自己的Qt安装路径决定)

  2. 打开oci工程,并且在oci工程中添加如下图所示的两行代码(第一行是Oracle数据的include的路径,第二行是Oracle数据库的.lib文件的路径),这个路径也需要根据实际的安装路径来设置
    在这里插入图片描述

  3. qmake,然后重新构建项目

  4. 将生成的.dll文件添加到Qt的driver中(路径可能不同,可以使用everything来进行文件查找)

编译Oracle数据库驱动参考链接1
编译Oracle数据库驱动参考链接2

Qt使用Oracle数据库注意点

对于一般的数据库,即便是像access这样比较特殊的数据库,都可以通过单独设置主机名、端口、数据库名称的方式连接,但是对于Oracle数据库却不是这样。
因为oracle 12c 使用多个插拔数据库,不能采用传统的设置端口、主机名称、数据库名称的方式连接oracle,直接通过设置数据库名称为:hostname:port/pdb_name的方式访问,即:主机地址:端口/pdb数据库名称方式访问oracle数据库。
如果按照普通的数据库的方式去设置Oracle,那么会报如下的错误:

ORA-12505, TNS:listener does not currently know of SID

对于Qt而言正确使用Oracle的方式是:hostname:port/dbName,如下

db.setDatabaseName("127.0.0.1:1521/dbName");

具体的使用差别如下图所示:
在这里插入图片描述

Qt使用Oracle数据库参考链接

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值