最近做一个项目,在RHEL 5下建立一个Oracle数据库系统,用于存储集群的录音数据,其中数据库驱动用的是odbc,这里简单的记录下安装配置odbc的经过吧。
一、安装ODBC
从www.unixodbc.org,下载了unixODBC-2.3.0.tar.gz,解压之:tar zxvf unixODBC-2.3.0.tar.gz
在解压出的文件夹下,执行:./configure 然后make,接着make install。
郁闷的是无论进入/usr/local/bin还是/usr/bin下都找不到ODBCConfig,不行就查找下吧,find / -name "ODBCConfig",还是没有。郁闷,怎么回事呢?google baidu之,有人说是没装gt包的缘故,好吧,先装吧,下载unixODBC-gui-gtk-2.2.1-i386.rpm和unixODBC-gui-qt-2.2.1-i386.rpm,然后安装,重新安装unixODBC,结果还是找不到ODBCConfig,超级郁闷了。
那是不是unixODBC的版本不对呢,于是从www.unixodbc.org下载了unixODBC-2.2.1.tar.gz,解压配置make make install之,omg,终于在/usr/local/bin下找到了ODBCConfig。
二、配置ODBC for oracle
2.1安装oracle instant client客户端
在www.oracle.com下载oracle instant client的rpm安装包,zip包也可以:
oracle-instanceclient11.2-basic*.rpm
oracle-instanceclient11.2-devel*.rpm
oracle-instanceclient11.2-odbc*.rpm
oracle-instanceclient11.2-sqlplus*.rpm
由于以前装过instant client,所以强制安装,注意顺序:rpm --force -ivh *。
安装的默认位置分别在/usr/share/oracle/11.2/client,/usr/include/oracle/11.2/client,/usr/lib/oracle/11.2/client下,
设置环境变量之前,在/usr/lib/oracle/11.2/client/lib下创建network/admin文件夹,在此文件夹下创建tnsnames.ora,其内容入下:
ORCL=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.2)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
设置环境变量:
#vi ~/.bashrc
在文件后面加入:
export ORACLE_HOME=/usr/lib/oracle/11.2/client/lib
export ORACLE_SID=orcl
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME
export SQLPATH=$ORACLE_HOME
PATH=$PATH:$ORACLE_HOME
export PATH
立即生效#source ~/.bashrc
由于已经在本机上装好了oracle server,下面测试下客户端是否安装成功:
#sqlplus /nolog
SQL>conn test/test@orcl
出现问题ora-12541,解决方法:
因为服务器没有打开监听,所以登录服务器,
$lsnrctl start
然后再登:
#sqlplus /nolog
SQL>conn test/test@orcl
OK,instant client安装成功。
2.2