Linux下ODBC for Oracle驱动的安装


最近做一个项目,在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

相关内容