`

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

阅读更多

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

今天终于编译好了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

连接数据库:

以前一直显示

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

分享到:
评论

相关推荐

    linux下编译oracle驱动qoci

    在linux用qt访问oracle数据库需要自己编译oracle驱动qoci

    QT编译数据库oracle的驱动QOCI

    与对上层用户提供统一的数据库接口相反的是,Qt使用不同的插件访问相应的下层数据库。若要访问某一数据库,需给Qt提供相对应的驱动插件。Qt默认只提供SQLite数据库驱动程序,...本文档介绍Qt关于Oracle驱动QOCI的编译

    qt的qoci驱动编译方法

    window下,qt图形用户开发工具,oracle数据库驱动,mingw编译器,编译方法

    qt ORACLE OCI驱动

    在VS2010里编译好的qt的oracle qoci驱动DLL qt4.8.4

    QOCI驱动,Qt使用的Oracle-OCI驱动

    此驱动适用于Oracle11g 32bit,驱动是使用Qt4.8.4和VS2008编译生成的,驱动已成功应用于所开发的应用程序中,另需要注意的是使用QOCI驱动,在发布时还需要加入oci.dll(资源中提供的是32bit的,不适用于64bit),还...

    Qt中的qoci驱动

    由于qt默认只有sqlite,psql和odbc驱动,没有oracle的oci驱动。qt提供了oracle的oci驱动源码,需要自己编译,这里将自己编译好的驱动提供给大家。 是在vs2008+qt4.8.3编译的。

    QT连接Oracle11编译或运行所需的OCI库文件(32位).rar

    【32位】QT5.13连接oracle11g需要自行编译QOCI驱动,压缩包内包含了:编译驱动所需依赖文件、运行驱动所需的oraocci11.dll、oci.dll文件

    qt4.7版本的oracle驱动

    qt4.7版本的oracle(版本号10.2.0)驱动,我之前下载了一个人家编译好的4.5版本的驱动,结果不能用。现在我自己编译了一个windows平台4.7版本的,编译器使用的是mingw

    利用Qt源代码编译QOCI for Windows

    QOCI用于实现利用Qt访问Oracle数据库。本文给出了Windows环境下,基于MinGw和VS2008两种编译器生成QOCI的过程配置说明,以及QOCI驱动的安装和使用说明。

    ubuntu编译QOCI驱动

    环境:ubuntu12.04+qt4.8.0+oracle11g2 是个编译文档,希望对你有帮助

    ubuntu qt提示QMYSQL driver not loaded 的解决方法不用重新编译

    qt编译连接MYSQL出现QMYSQL driver not loaded 基本成为普遍现象,网络上大多数解决方案是重新编译驱动,亲身证实是可行方案之一。这里给出更简单的办法,适用于ubuntu,直接安装该deb包,就可以了。ubuntu16.04和...

    QOCI_oracle11g_qt5.12.7z

    Qt5.12 oracle11g 64位下编译oci驱动 (win7,win10实测可用) 【编译环境】 win10 64bit qt5.12.0 oracle11g R2 client 编译方法就不详述了 qt5.12.0安装时要选择source 打开oci.pro文件需要做一定修改 #QMAKE_USE...

    Qt5.15.2的OCI编译结果qsqloci.dll相关驱动,使用的VS2019+MSVC编译

    Qt5.15.2的OCI编译结果qsqloci.dll相关驱动,使用的VS2019+MSVC编译。如果连接oracle还是需要客户端的,仅仅QOCI是不行的。文件放到sqldrivers使用QDatabase::dirvies()可以看到QOCI

    5.13.2数据库驱动.rar

    包含MINGW64位编译的oci驱动,两个版本11.2和12.2,包含原版的两个版本oci.dll驱动 包含MSVC2015 2017和MINGW64编译的QMYSQL驱动,以及原版的libmysql.dll

Global site tag (gtag.js) - Google Analytics