前言
前段时间,项目需要对Oracle数据库进行访问,由于后端采用C/C++开发,因此选用了OCI接口进行访问,下面将介绍如何安装环境
环境
CentOs7
安装前准备
1、oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64 .rpm
2、oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
3、oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm
4、automake-1.11.1.tar.gz
5、autoconf-2.68.tar.gz
6、ocilib-4.1.0-gnu.tar.gz
下载地址https://pan.baidu.com/s/1HTTEK0VTmORXtXuAK7GJOg
安装步骤:权限请调至root
1、依次运行下列命令
rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64 .rpm
rpm -ivh oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm
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
2、保证本机IP能PING通ORACLE服务器IP,运行下列命令
./sqlplus TESTUSER0725/12345679@172.16.1.33:1521/orcl
提示:
TESTUSER3G6L为数据库的用户名
123456为密码
172.16.1.33为ORACLE数据库IP
1521为端口
Orcl为SID
3、运行下列命令查看automake版本信息
INSTA
如果版本号不为1.11.1则进行安装automake11.1.1,运行下列命令
tar -xzvf automake-1.11.1.tar.gz
cd automake-1.11.1
./configure
make
make install
如果提示:
configure: error: Autoconf 2.60 or better is required.
Please make sure it is installed and in your PATH.
则进行安装autoconf-2.68.tar.gz 依次运行下列命令
tar -xzvf autoconf-2.68.tar.gz
cd autoconf-2.68
./configure
make
make install
4 安装配置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
make
make install
5 配置环境变量
echo "/usr/local/lib">>/etc/ld.so.conf
echo /usr/lib/oracle/11.2/client64/lib>>/etc/ld.so.conf
ldconfig
6:gcc main.c -locilib -o client –w
问题及解决方案:
1:LINUX系统下使用OCI接口查询中文显示为‘?’的问题
解决方法:
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
source /etc/profile
2: 若Linux重启后出现乱码或者服务运行失败,提示.so寻找不到的的问题
解决方法:
vi /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
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8