我正在尝试使用oracle的hsodbc通用数据库链接驱动程序从我的oracle 10gr2数据库服务器访问postgresql数据库。我想我已经配置了所有内容但是在尝试远程查询后我从sqlplus promt收到此错误。
SQL> select * from temp_user@intranet; select * from temp_user@intranet * 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;
使用'intranet'创建数据库链接Intranet连接到由apassword标识的用户;
这很成功。
然而,当我跑
时 select * from temp_user@intranet
我收到错误
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
我花了很多时间回顾配置和尝试的事情,我总是得到这个错误。
任何人都有任何好主意,
答案 0 :(得分:1)
“tnsping intranet”报告的内容是什么?
您确定您的hsodbc prorgram位于网关安装的Oracle_home / bin目录中吗?你的LD_LIBRARY_PATH设置正确吗?
我相信你的LD_LIBRARY_PATH应该是$ ORACLE_HOME / lib。对不起,不确定,因为这些天我对* Nix做的不多。