[置顶] QT连接Oracle数据库

时间:2021-07-01 07:45:27

        这两天一直困扰于Qt连接数据库的问题,首先我描述下我的实验环境和我遇到的问题,然后再给出具体的解决方案。

1、版本:qt 4.8.3,vs2008,Oracle10g;

2、实验环境和遇到的问题:Oracle安装在局域网内的一个服务器上,我自己的机器没有安装数据库,只安装了10g的客户端(这是问题的关键,我之前就是没安装客户端,所以一直出问题,因此,Oracle的客户端是必须要安装的);qt连接Oracle数据库需要驱动程序,但是qt自身没有提供QOCI的驱动,因此我测试程序的时候一直出现驱动没有加载。

3、解决方案:

首先安装Oracle客户端,我的建议是一定要在网上找Oracle客户端的安装教程,因为自己盲目安装的话容易出错,导致最后即使安装了客户端也不能连上数据库,另外卸载很麻烦,所以千万要小心,我安装的Oracle客户端的路径为:E:\oracle。10g客户端的下载地址是:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

       接下来是生成qt连接Oracle数据库的驱动,一共有两种方法,第一是自己编辑生成,网上的教程很多,在这里我就不累赘的叙述了。因为我的机器环境不具备这样的环境,因此我是从网上下载别人已经编辑好了的驱动,我上传到了我的云盘,可以提供给大家下载,网址:http://pan.baidu.com/s/1pJEzClP。一共是八个文件,将这八个文件拷贝到你的qt安装目录下sqldrivers目录下,我的安装目录是:D:\Qt\4.8.3\plugins\sqldrivers(这个很重要,并且要求你的qt环境是配置好了的),再将这个路径设置为你的工程的工作目录。OK,成功解决问题。

      总结一下qt连接Oracle的关键:必须安装客户端(如果你的机器上没安装数据库);要有qt的QOCI的驱动程序。