天涯刀客 2016-05-09
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