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