qt Oracle问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了qt Oracle问题相关的知识,希望对你有一定的参考价值。

qt编译好oracle驱动连接不上。难道还要安装oracle吗?报错没有监听。我安装Oracle11,还是不能启动

参考技术A 没有监听,你在“服务”里看Oracle的listener服务启动没 参考技术B qoci.dll 放在运行根目录下 试一试

Solaris 10下Qt编译Oracle 10g驱动

    上回书讲到《Oracle 10g在Solaris 10中安装详解》,现在开始用Qt来编译下Oracle 10g驱动吧!这样就可以通过Qt程序联入Oracle数据库了!

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

 

http://cool.worm.blog.163.com/blog/static/6433900620098711338225/

以上是关于qt Oracle问题的主要内容,如果未能解决你的问题,请参考以下文章

qt编译oracle驱动,qt 5.12 连接 oracle 数据库示例代码

在 C++ 中使用 Qt 在 Linux 上连接到 Oracle DB

Solaris 10下Qt编译Oracle 10g驱动

qt调用oracle存储过程,该怎么处理

Qt-生成oracle的连接文件

Qt5.8以上版本编译Oracle数据库的OCI驱动教程