这么多天以来终于有件事可以小舒畅了一下了。

今天终于编译好了qt的oracle驱动QOCI,连接成功!!!

Qt Commercial版只自带了SQLLite和ODBC的驱动,oracle的驱动要自己编译,折腾了许久,终于成功了。具体如下:

编译QOCI:

1st:
go to Qt’s Command Prompt window. (VS 2008下)

2nd:
set INCLUDE=%INCLUDE%;D:/Work/Oracle_10.2_client/oci/include

3rd:
set LIB=%LIB%;D:/Work/Oracle_10.2_client/oci/lib/msvc

4th:

cd %QTDIR%/src/plugins/sqldrivers/oci

5th:
qmake -o Makefile oci.pro

6th:
nmake

连接数据库:

#include <QtCore/QCoreApplication> #include <QSqlDatabase> #include <QSqlQuery> #include <QVariant> int main(int argc, char *argv[]) {QCoreApplication a(argc, argv);QSqlDatabase db = QSqlDatabase::addDatabase("QOCI");db.setHostName("192.168.0.192");db.setDatabaseName("dbname");db.setUserName("username");db.setPassword("passwd");db.setPort(1521);if (db.open())printf("打开成功/n");elseprintf("打开失败/n");QSqlQuery query("SELECT column_1 FROM table_1");while (query.next()) {QString country = query.value(0).toString();printf("%s/n",country.toLocal8Bit().data());}return a.exec(); }

以前一直显示

QSqlDatabase: QOCI driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC3 QODBC
打开失败
QSqlQuery::exec: database not open

Cheers!

顺带记录下Solaris10下的编译方法(没试过)

Oracle的环境变量:

ORACLE_BASE=/oracle
ORACLE_HOME=$ORACLE_BASE/product/10.0.2

Qt的编译文件在Solaris 10下的路径:

/export/home/qt-4.3.1/qt-X11-commercial-src-4.3.1

Qt的环境变量:

QTDIR=/usr/local/Trolltech/Qt-4.3.1

Show下环境变量:

ORACLE_BASE=/oracle
ORACLE_HOME=$ORACLE_BASE/product/10.0.2
export ORALCE_BASE ORACLE_HOME

QTDIR=/usr/local/Trolltech/Qt-4.3.1
PATH=$QTDIR/bin:$ORACLE_HOME/bin:$PATH
LD_LIBRARY_PATH=$QTDIR/lib:/usr/openwin/sfw/lib:$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export QTDIR PATH LD_LIBRARY_PATH

OK!开始在Solaris 10下Qt编译Oracle 10g驱动,Oracle 10g是服务端!

cd /export/home/qt-4.3.1/qt-X11-commercial-src-4.3.1/src/plugins/sqldrivers/oci
qmake -o Makefile "INCLUDEPATH+=$ORACLE_HOME/rdbms/public $ORACLE_HOME/rdbms/demo" "LIBS+=-L$ORACLE_HOME/lib -lclntsh" oci.pro
gmake
gmake install

这样你就能在 $QTDIR/plugins/sqldrivers 中找到 libqsqloci.so 数据库的驱动了~~

在用的程序中的pro文件中需要如下设置:

QT += sql

测试一下吧~

QStringList drivers = QSqlDatabase::drivers();
foreach(QString driver, drivers)
   qDebug() << "/t" << driver;

你会惊喜的发现,QOCI8和QOCI的出现!

最后墨迹一句,在configure的时候编译如下:

configure -plugin-sql-oic -I/$ORACLE_HOME/rdbms/public -I/$ORACLE_HOME/rdbms/demo -L$ORACLE_HOME/lib

终于编译好了qt的oracle驱动QOCI,连接成功!!!相关推荐

  1. 用Visual Studio 2015 编译张帆的第一个WDM驱动,并且成功安装到Windows 10里面

    用Visual Studio 2015 编译张帆的第一个WDM驱动,并且成功安装到Windows 10里面!!! 开发工具:Visual Studio 2015 企业版 目 标 机:Windows 1 ...

  2. 编译qt的oracle驱动,怎样编译Qt下的Oracle驱动

    Windows下编译Oracle驱动 打开工程: C:\Qt\4.8.1\src\plugins\sqldrivers\oci 修改oci.pro: TARGET = qsqloci SOURCES ...

  3. Qt的Oracle数据库QOCI驱动问题

    用Qt开发Oracle程序时,常会遇到QOCI驱动问题,主要表现为程序运行时出现下面的错误. QOCI driver not loaded available drivers: QSQLITE QOD ...

  4. centos7 Qt5编译oracle驱动

    编译oracle驱动 前提条件 1.安装了Qt源码 1.安装了oracle数据库 步骤 1.找到oracle驱动工程目录,本机目录地址如下: D:\Dev\Qt\Qt5.9.0\5.9\Src\qtb ...

  5. 【Qt】Qt5.12版本编译Oracle驱动教程

    00. 目录 文章目录 00. 目录 01. Qt5.12安装 02. Qt安装注意事项 03. Qt版本和Oracle安装路径说明 04. Qt5.12编译Oracle驱动(使用MinGW 64位) ...

  6. qt同时连接oracle和mysql_QT连接Oracle和Mysql的详细步骤,已成功~!

    近几天一直在整QT的数据库连接这一块.因为QT是开源的,所以涉及的连接Oracle及Mysql的驱动都必须自己编译生成.通过不断的测试.调试,终于把QT连接Oracle和Mysql的驱动编译生成好了. ...

  7. QT、linux驱动以及应用基础学习总结-基于IMX6ULL的翻金币游戏点灯以及蜂鸣器报警

    0 前言 代码链接:https://download.csdn.net/download/qq_55813245/85594338 资源 :imx6ull开发板 系统:正点原子出厂系统(Uboot 版 ...

  8. 连接oracle的驱动包,连接oracle数据库驱动包

    JDBC与JAVA数据库编程 一.JDBC的概念 1. JDBC (Java DataBase Connectivity) Java数据库连接 a) 主要提供java数据库应用程序的API支持 2.  ...

  9. mysql oracle驱动安装步骤_oracle服务器 驱动安装步骤

    用SQL Server2005同义词链接Oracle的完整过程 用SQL Server2005同义词链接Oracle数据库可以将Oracle中的表,视图等映射到SQL2005中,直接在SQL2005中 ...

最新文章

  1. 高考估分查分选志愿一键搞定_支付宝又操办了件人生大事
  2. 数据治理展示血缘关系的工具_Nebula Graph 在微众银行数据治理业务的实践
  3. 三大组件与三大优势 SUSE发布CaaS平台为哪般?
  4. 不会c语言能学习python_为什么很多人学不会C语言?学霸说:你要是像我一样学肯定能行!...
  5. YbOJ-网格序列【拉格朗日插值】
  6. deeplearning中卷积后尺寸的变化
  7. linux 远程修改时间,linux 获取远程系统时间的例子
  8. GooFlow插件IE8及以下报无法设置未定义或 null 引用的属性“value”错误
  9. asp.net助学贷款管理系统案例
  10. 等比例压缩图片文件大小
  11. nali工具解析ip来源
  12. java手机游戏主角技能上剑魂,DNF高手来回答
  13. pixi 小游戏_使用 Pixi.js 开发微信小游戏
  14. IT十大最尴尬瞬间 盖茨遭遇Win98死机列榜首
  15. pvr.ccz 与 png 格式 互转的解决方案
  16. 14 POJ3363 Annoying painting tool
  17. FPGA学习-Verilog例化说明
  18. zabbix模板关联群组
  19. 「停止更新」黑苹果安装教程:联想小新锐7000 i5-7300HQ HD630 GTX1050
  20. 雷尼绍测头TP200使用注意事项

热门文章

  1. win 2008R2 域的备份与还原
  2. OpenCV Shi-Tomasi角点检测
  3. java创建描述文件,IT技术交流:Java 轻量级整合开发
  4. Python 懂车帝车友圈--分析与实现
  5. 【源码解析】HashMap源码跟进(红黑树的实现)
  6. 适配器模式理解和使用
  7. 十八、启动jmeter时提示findstr不是内部命令的解决方案
  8. amazeui学习笔记--css(HTML元素4)--图片image
  9. vs系列自带的localdb数据库当做数据库
  10. ios UIScrollView 中控件自动增加间隔