一般情况下OCCI会随着Oracle数据安装,附带安装到某个目录下,不过对于仅仅需要做相关开发的人员来说,
这个动作“太大了”,选择安装即时客户端是一个不错的选择,小巧,便于配置,功能完善(对于应用程序开发来说).
我们只需要到oracle的网站上下载以下几个东西: (http://www.oracle.com/technetwork/topics/linuxsoft-082809.html)
Instant client Package – Basic 运行OCI, OCCI, 和JDBC-OCI应用程序需要的所有文件.
Instant client Package – Basic Lite: 只包含英语错误信息, 只支持unicode, ascii, 西欧字符集.
Instant client Package – JDBC Supplement 为jdbc增加了xa, 国际化和RowSet操作
Instant Client Package – SQL *Plus 包含sqlplus和需要的库文件
Instant client Package – SDK 使用Instant Client开发Oracle 应用程序需要的头文件及示例makefile
Instant client package – ODBC 使用odbc时需要的库, 不是所有平台都有. linux平台包含.
其中Basic和Basic Lite两个中必须选一个。这里我选择了:
oracle-instantclient11.1-basic-11.1.0.7.0-1.i386.rpm
oracle-instantclient11.1-devel-11.1.0.7.0-1.i386.rpm
oracle-instantclient11.1-odbc-11.1.0.7.0-1.i386.rpm
oracle-instantclient11.1-sqlplus-11.1.0.7.0-1.i386.rpm
安装过程:
1)、由于自己不太清楚。so 安装顺序,随便来!
Preparing… ########################################### [100%]
1:oracle-instantclient11.########################################### [100%]
rpm -ivh oracle-instantclient11.1-devel-11.1.0.7.0-1.i386.rpm
Preparing… ########################################### [100%]
1:oracle-instantclient11.########################################### [100%]
rpm -ivh oracle-instantclient11.1-sqlplus-11.1.0.7.0-1.i386.rpm
Preparing… ########################################### [100%]
1:oracle-instantclient11.########################################### [100%]
rpm -ivh oracle-instantclient11.1-odbc-11.1.0.7.0-1.i386.rpm
Preparing… ########################################### [100%]
1:oracle-instantclient11.########################################### [100%]
2)、配置环境
1、配置ld.so.conf
vi /etc/ld.so.conf
/usr/lib/oracle/11.1/client/lib/
(至于这个文件干嘛用的,恩等我把《程序员的自我修养》看完都;
注意这里的“11.1”可能是12.1、11.1.0.1 之类的请按照你的/usr/lib/oracle/下的目录名为准)
2、#ldconfig
#ldconfig
ldconfig是一个动态链接库管理命令,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.
so.conf内所列的目录下,搜索出可GX的动态链接库(格式如前介绍,lib*.so*),进而创建出动态装入程序(ld.so)
所需的连接和缓存文件.缓存文件默认为 /etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表.
它是程序运行所需的动态连接库的配置文件。
3、make 来试一下
Compile file /root/v2_10ge_probe/brd_gcr/source/GcrModule.cpp,2062 lines ….
In file included from /root/v2_10ge_probe/brd_gcr/source/GcrModule.cpp:18:0:
/root/v2_10ge_probe/brd_gcr/../brd_platform/include/brd_dbo_define.h:29:18: fatal error: occi.h: No such file or directory
compilation terminated.
make: *** [GcrModule.o] Error 1)
真倒霉啊!!
4、配置LD_LIBRARY_PATH
export LD_LIBRARY_PATH=:./lib:../lib:../../lib:/usr/lib/oracle/11.1/client/:/usr/lib/oracle/11.1/client/lib
(汗,原来是MakeFile写错了,#lib使用client64 呵呵呵)