ORACLE调用接口(Oracle Call Interface简称OCI)提供了一组可对ORACLE数据库进行存取的接口子例程(函数),通过在第三代程序设计语言(如C语言)中进行调用可达到存取ORACLE数据库的目的。

所需环境和软件:

automake :automake 1.11.1(下载链接: http://ftp.gnu.org/gnu/automake/
(其他版本编译oci时提示缺少automake1.11.1)

OCI:ocilib-4.1.0-gnu.tar.gz(下载链接:http://sourceforge.net/projects/orclib/

编译ocilib需要oracle的某些库和头文件,如果系统没有安装oracle数据库,那么还需要下载安装oracle-instantclient(下载链接: http://sourceforge.net/projects/orclib/

下载文件:
oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm
oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.rpm
oracle-instantclient11.2-sqlplus-11.2.0.3.0-1.x86_64.rpm

1.安装配置oracle-instantclient(如已安装oracle数据库请跳转到第2步)

rpm -ivh oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm
rpm -ivh oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.rpm
rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.3.0-1.x86_64.rpm

(默认安装路径为/usr/lib/oracle/11.2/client64,如需指定路径使用--prefix前缀)

配置环境变量
chmod + /etc/profile
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib:/usr/local/lib
export ORACLE_SID=viot
export PATH=$PATH:$ORACLE_HOME/bin
source /etc/profile
cd /usr/lib/oracle/11.2/client64/bin
sqlplus viot/[email protected]:1521/viot

显示Connect to:
......
表明oracle-instantclient安装成功(上面viot是192.168.1.204机器上的数据库实例,用户名密码也为viot)

2.安装automake 1.11.1

查看automake版本信息

automake --version

如果不是1.11.1 继续安装

tar -xzvf automake 1.11.1.tar.gz
cd automake 1.11.1
./configure
make
makeinstall

3.安装配置OCI

tar -xzvf ocilib-4.1.0-gnu.tar.gz
cd ocilib-4.1.0
./configure --with-oracle-lib-path=/usr/lib/oracle/11.2/client64/lib --with-oracle-headers-path=/usr/include/oracle/11.2/client64

如果已安装oracle数据库,请替换为相应的库文件和头文件位置,例如
./configure --with-oracle-lib-path=/oracle/product/10.2.0/db_1/lib --with-oracle-headers-path=/oracle/product/10.2.0/db_1/rdbms/public

make
make install

05-28 23:04