加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Qt编译oracle数据库驱动oci

发布时间:2020-12-12 14:20:52 所属栏目:百科 来源:网络整理
导读:由与qt开源版本没有提供oracle数据库驱动,需要自己根据源代码来手动编译oracle驱动。 前言声明:qt编译的位数版本和数据库oracle的版本是密切相关的,qt是不提供64为系统的安装包的,所以在win7平台上多数是32位的,如果你的电脑是64位的,但是qt装了默认32

由与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:QtQt5.6.05.6Srcqtbasesrcpluginssqldriversoci每个人安装路径可能不一样,可根据自己的情况相应更改

需要强调的是在安装qt-opensource-windows-x86-mingw492-5.6.0.exe需要勾选src选项。才能有相应的src目录

打开后直接执行qmake。发现如上面出现的错误

解决方法:打开oci.pro文件

执行qmake->重新构建
没有错误出现了,仅仅是几个类型转换的警告。
表明已经生成成功。oracle相关驱动一生成成功

使用驱动连接数据库
把上面目录显得qsqloci.dll、qsqlocid.dll文件考到目录

F:qt5.65.6mingw49_32pluginssqldrivers

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,大家可以拿过去测试一下
下载链接传送门下载驱动

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读