通过断断续续的努力,大概经过了1个月时间,终于在unix上使用开源的QT连接上oracel,使用qoci.现在把经验分享,希望能给需要的朋友一点帮助。
1.设置环境变量
ORACLE_BASE=/export/home/oracle
ORACLE_HOME=$ORACLE_BASE/10g
export ORACLE_BASE ORACLE_HOME
2.把oracle环境变量和QOCI插件的目录添加到PATH和LD_LIBRARY_PATH中。如下:
PATH=$PATH:$QTDIR/bin:/usr/local/lib:/usr/sbin:/usr/sfw/bin:$HOME/bin:$ORACLE_HOME/bin.
export PATH
LD_LIBRARY_PATH=:$ORACLE_HOME/lib:/export/home/powerDMS/plugins/SQLDRIVERS:.
export LD_LIBRARY_PATH
3.编译QT,直接编译用默认配置:如下
configure
make
qmake
如果提示:
You see to not have 'make' or 'gmake' in your PATH.
设置下环境变量,指定当前的make所在的路径。查看make所在路径用命令:make witch
MAKE=/usr/local/bin/make
export MAKE
在configure 时如果提示有不能执行的文件,到该文件所在目录下把不能执行的文件全设置为可以执行。
到当前目录下,用命令:chmod +x 文件名 给文件增加可执行权限
4.编译QOCI插件
cd $QTDIR/plugins/src/sqldrivers/oci
qmake -o Makefile "INCLUDEPATH+=$ORACLE_HOME/rdbms/public $ORACLE_HOME/rdbms/demo" "LIBS+=-L$ORACLE_HOME/lib -lclntsh" oci.pro
到此,QT的环境就准备好了。
下面介绍如何使用:
在用QOCI的程序中的pro文件中需要如下设置:
LIBS += -lqsqloci --指定需要连接的库
LIBPATH += ../../../plugins/SQLDRIVERS --库所在的目录
这样先qmake ,再make
不出意外的情况,应该可以使用了。