QT程序远程连接oracle数据库drive not loaded问题

问题

最近在用qt写程序需要连接远程oracle数据库,记录下遇到的关于Driver not loaded的问题。

环境

首先说下我用的qt版本5.14.2,MinGW 7.3.0 32-bit。

问题解决

第一步:首先确保你有QOCI这个驱动。
可以用QSqlDatabase::drivers()查看下,现在是否有QOCI这个驱动,如果之前没有添加过,应该是没有的。需要自己添加QOCI驱动。

怎么给QT添加QOCI驱动

网上有很多编译QOCI驱动的帖子,可以自己找一下。这里记得最好自己编译一下,因为如果你用不同版本的QT编译出来的QOCI驱动,虽然用这个函数QSqlDatabase::drivers()可能会显示支持QOCI,但实际运行时还是会有Driver not loaded。所以最好自己编译。

第二步:添加一些文件到你的程序EXE所在文件目录
我这里的情况是,程序运行的那个电脑环境没有ORACLE数据库客户端,所以我添加了一些oracle数据库相关的动态链接库到EXE程序所在的目录下面。如果你跟我的情况一样,没有oracle客户端,不添加的话应该还是会报Drive not loaded这个问题。
下面是我添加的相关文件,你可以下载个oracle客户端,找到这几个文件。我用的是oracle 11g。
(可能只需要这7个的其中某几个就行,但我没具体试过,就都添加了。我知道oci和oraociei11这两个是必须的)
在这里插入图片描述

上面两步都完成了,Drive not loaded问题就解决了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值