2012-12-17 118 views
4

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

我已采取下列步骤:
[1]安装了Oracle-instanceclient碱性
[2]设置环境变量:ORACLE_HOME和LD路径
[3]建立/etc/oracle/TNSnames.ora和配置但它并没有设置正确

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

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

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

+0

那么有什么不适合你? –

回答

8
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服务器运行在Windows上哪里 - - 不要忘记在最后的端口号后添加监听器:

export TWO_TASK=//213.123.23.19:1521/listener 

为了再检查一下为侦听器的名称,在窗户上键入以下命令提示用户正在运行Oracle Se rver:

lsnrctl 
status 

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

的mkdir /等/ ORACLE

六/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

六/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 

六/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         | 
|          | 
+---------------------------------------+ 
+0

我想更新驱动程序下载的链接是http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html – Alok

1

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

+0

正如你所说,似乎由RH提供的unixODBC 2.2.14不兼容10.x之上的Oracle驱动程序需要升级。 –

相关问题