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

QT5.4 编译oracle 驱动

发布时间:2020-12-12 15:10:21 所属栏目:百科 来源:网络整理
导读:一、在oracle官网下载包 instantclient-sdk-nt-12.2.0.1.0.zip 和instantclient-basiclite-nt-12.2.0.1.0.zip 这两个包 (需要考虑QT为32位还是64位来下载相应的包) 二、驱动编译 1、打开编译命令行 2、执行如下命令: set INCLUDE=%include%;F:instantcli

一、在oracle官网下载包


instantclient-sdk-nt-12.2.0.1.0.zip 和instantclient-basiclite-nt-12.2.0.1.0.zip 这两个包 (需要考虑QT为32位还是64位来下载相应的包)
二、驱动编译
1、打开编译命令行

2、执行如下命令:
set INCLUDE=%include%;F:instantclient_sdkinclude;F:QtQt5.4.1Toolsmingw491_32include
set LIB=%lib%; F:instantclient_sdk libmsvc
cd F:QtQt5.4.15.4Srcqtbasesrcpluginssqldriversoci(自己QT实际安装路径)
qmake oci.pro
mingw32-make


其中:F:instantclient_sdkinclude 为instantclient-sdk-nt-12.2.0.1.0.zip实际解压路径


3、拷贝编译的结果文件
拷贝F:QtQt5.4.15.4Srcqtbasepluginssqldrivers目录下:libqsqloci.a、libqsqlocid.a、qsqloci.dll、qsqlocid.dll
四个文件到F:QtQt5.4.15.4mingw491_32pluginssqldrivers文件夹下


4、编译程序,进行测试
#include <QCoreApplication>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QVariant>
#include <QDebug>
#include <QSqlError>
int main(int argc,char *argv[])
{
QCoreApplication a(argc,argv);
QSqlDatabase db = QSqlDatabase::addDatabase("QOCI");
db.setPort(1521);
db.setHostName("192.168.1.101");
db.setDatabaseName("ORCL");
//db.setUserName("myoracle");
db.setUserName("lhl_oracle");
db.setPassword("111");
if (!db.open())
{
//链接数据库失败";
qDebug() << db.lastError().text();
qDebug() << "Open error";
return false;
}


qDebug() << "Open OK";
QSqlQuery query;
bool b = query.exec("SELECT * from MYORACLE."user"");
while (query.next()) {
QString id = query.value(0).toString();
qDebug() << "ID= " <<id ;
}


qDebug() << db.lastError().text();
return a.exec();
}


同时拷贝F:softoracleinstantclient-basiclite-nt-12.2.0.1.0instantclient_12_2目录下的所有dll文件到程序运行目录如下图:

(编辑:李大同)

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

    推荐文章
      热点阅读