2009-06-25 60 views
1

我试图使用Oracle的hsodbc通用数据库链接驱动程序从我的Oracle 10gR2数据库服务器访问PostgreSQL数据库。我想我已经配置好了所有东西,但是在尝试远程查询后,我从sqlplus promt收到了这个错误。的Oracle通用数据库链接无法使用

 
SQL> select * from [email protected]; 
select * from [email protected] 
         * 
ERROR at line 1: 
ORA-28545: error diagnosed by Net8 when connecting to an agent 
Unable to retrieve text of NETWORK/NCR message 65535 
ORA-02063: preceding 2 lines from INTRANET 

如果我使用Linux命令行“ISQL”(换句话说测试只是ODBC连接)的查询工作。

我输入“isql intranet”(intranet是odbc连接的名称) 我得到提示我从temp_user中键入select *,然后在屏幕上收到我的157条记录。

所以我知道ODBC配置是否设置正确。这是我为oracle所做的。

 
%oracle_home/hs/admin/inithsodbc.ora 
HS_FDS_CONNECT_INFO = intranet 
HS_FDS_TRACE_LEVEL = OFF 
HS_FDS_SHAREABLE_NAME = /usr/bin/ODBCConfig 
 
%oracle_home/network/admin/tnsnames.ora 
INTRANET = 
    (DESCRIPTION = 
    (ADDRESS_LIST = 
     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.5.1)(PORT = 5432)) 
    ) 
    (CONNECT_DATA = 
     (SID = INTRANET) 
    ) 
    (HS = OK) 

%oracle_home/network/admin/listener.ora 
SID_LIST_LISTENER = 
    (SID_LIST = 
    (SID_DESC = 
     (GLOBAL_DBNAME = INTRANET) 
     (PROGRAM = hsodbc) 
     (SID_NAME = INTRANET) 
     (ORACLE_HOME = /home/oracle/app/OraHomeTEST) 
LISTENER = 
    (DESCRIPTION_LIST = 
    (DESCRIPTION = 
     (ADDRESS = (PROTOCOL = TCP)(HOST = oracledb.andersen-const.com)(PORT = 5432)) 
    ) 
) 

我已经重新启动监听器。它的状态如下。

 
Services Summary... 
Service "INTRANET" has 1 instance(s). 
    Instance "INTRANET", status UNKNOWN, has 1 handler(s) for this service... 

然后,我从数据库服务器命令行进入sqlplus并执行以下操作。

drop database link intranet; 

创建数据库连接内部网连接到auser通过apassword使用“内联网”标识;

这是成功的。

然而,当我运行

select * from [email protected] 

我收到错误

 
ERROR at line 1: 
ORA-28545: error diagnosed by Net8 when connecting to an agent 
Unable to retrieve text of NETWORK/NCR message 65535 
ORA-02063: preceding 2 lines from INTRANET 

我已经花ATLEAST好日子回去在配置和尝试新事物,我总是得到这个错误。

任何人有任何好的想法,

+0

什么是`isql`工具? – 2012-04-07 19:32:18

回答

1

什么是 “用tnsping内联网” 的报告?

你确定你的hsodbc prorgram是在你的网关安装的ORACLE_HOME/bin目录?另外,您的LD_LIBRARY_PATH是否设置正确?

我相信你的LD_LIBRARY_PATH应该是$ ORACLE_HOME/lib目录下。对不起,我不确定,因为这几天我对* Nix没什么太大用处。

+0

抱歉忘了补充一点。它报道如下。 TNS Ping实用工具为Linux:版本10.2.0.3.0 - 25-JUN-2009 9时15分12秒 版权所有(c)生产1997年,2006年,甲骨文。版权所有。 使用参数文件: 用于TNSNAMES适配器来解析别名 试图联系(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.5.1)(PORT = 5432)))(CONNECT_DATA =(SID = INTRANET))(HS = OK)) OK(0毫秒) – 2009-06-25 16:15:49