如何在RHEL 6 / Linux上设置Oracle ODBC驱动程序

我需要在RHEL 6上设置Oracle ODBC驱动程序,以连接驻留在远程Windows计算机上的Oracle数据源。

我采取了以下步骤:
[1]安装oracle-instanceclient-basic
[2]设置环境variables:ORACLE_HOME和LDpath
[3]创build了/etc/oracle/TNSnames.ora并进行了configuration,但没有正确设置

最初,我得到错误, "Connect failed because target or object does not exist"

然后,我在TNSnames.ora文件中设置: ORACLE_SID = DB_NAME

但是,这并没有解决问题,我现在得到一个新的错误消息: "TNS: net service name is incorrectly specified"

Solutions Collecting From Web of "如何在RHEL 6 / Linux上设置Oracle ODBC驱动程序"

 yum install unixODBC rpm -ivh oracle-instantclient-basic-10.2.0.3-1.i386.rpm #downloaded on http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/linuxsoft.html unzip instantclient-odbc-linux32-10.2.0.3-20061115.zip #downloaded on http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/linuxsoft.html cp ./instantclient_10_2/libsqora.so.10.1 /usr/lib/oracle/10.2.0.3/client/lib/ export ORACLE_HOME=/usr/lib/oracle/10.2.0.3/client export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib 

还需要设置$TWO_TASK (Oracle正在寻找服务器的默认位置)以指向Oracle服务器在Windows上运行的位置 – 不要忘记在端口号后面添加监听器:

 export TWO_TASK=//213.123.23.19:1521/listener 

要筛选侦听器的名称,请在运行Oracle服务器的Windows提示符下输入以下命令:

 lsnrctl status 

它将招募监听者和他们的状态(READY或UNKNOWN)。 连接到处于就绪状态的监听器: Instance "zelistener", status READY

mkdir / etc / oracle

vi /etc/oracle/tnsnames.ora

 MY_SID = ( DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (Host = 127.0.0.1) (Port = 1521) ) ) (CONNECT_DATA = (SID = MY_SID) ) ) 

导出TNS_ADMIN = / etc / oracle

vi /etc/odbcinst.ini

 [OracleODBC-10g] Description = Oracle ODBC driver for Oracle 10g Driver = /usr/lib/oracle/10.2.0.3/client/lib/libsqora.so.10.1 FileUsage = 1 Driver Logging = 7 

vi /etc/odbc.ini

 [simple] Driver = OracleODBC-10g DSN = OracleODBC-10g serverName = MY_SID UserID = USER Password = PASSWORD 

isql -v简单

 +---------------------------------------+ | Connected! | | | | sql-statement | | help [tablename] | | quit | | | +---------------------------------------+ 

我认为我们应该分配unixODBC的版本。 如果要连接oracle12c,我们应该使用unixODBC-2.3.1