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