我正在尝试使用 oracle 的 hsodbc 通用数据库链接驱动程序从我的 oracle 10gr2 数据库服务器访问 postgresql 数据库。我想我已经配置了所有东西,但是在尝试远程查询后我从 sqlplus promt 收到了这个错误。
SQL> select * from temp_user@intranet;
从 temp_user@intranet 中选择 *
*
第 1 行的错误:
ORA-28545: 连接到代理时由 Net8 诊断出的错误
无法检索 NETWORK/NCR 消息 65535 的文本
ORA-02063: 前 2 行来自 INTRANET
如果我从 linux 命令行使用“isql”(换句话说,只测试 odbc 连接),则查询有效。
我输入“isql Intranet”(intranet 是 odbc 连接的名称)我得到提示我输入 select * from temp_user 并在屏幕上收到我的 157 条记录。
所以我知道 odbc 配置设置正确。这是我为 oracle 所做的。
%oracle_home/hs/admin/inithsodbc.ora HS_FDS_CONNECT_INFO = 内网 HS_FDS_TRACE_LEVEL = 关闭 HS_FDS_SHAREABLE_NAME = /usr/bin/ODBCConfig
%oracle_home/network/admin/tnsnames.ora
内联网 =
(描述=
(地址列表 =
(地址 =(协议 = TCP)(主机 = 192.168.5.1)(端口 = 5432))
)
(连接数据 =
(SID = 内联网)
)
(HS = 好的)
%oracle_home/network/admin/listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = 内部网)
(程序 = hsodbc)
(SID_NAME = 内联网)
(ORACLE_HOME = /home/oracle/app/OraHomeTEST)
听众 =
(DESCRIPTION_LIST =
(描述=
(地址 =(协议 = TCP)(主机 = oracledb.andersen-const.com)(端口 = 5432))
)
)
我已经重新启动了监听器。它的状态如下。
服务总结... 服务“内部网”有 1 个实例。 实例“INTRANET”,状态为 UNKNOWN,有 1 个用于此服务的处理程序...
然后我从数据库服务器命令行进入 sqlplus 并执行以下操作。
drop database link intranet;
创建数据库链接 Intranet 使用“intranet”连接到由密码标识的用户;
这是成功的。
但是,当我跑步时
select * from temp_user@intranet
我收到错误
第 1 行的错误: ORA-28545: 连接到代理时由 Net8 诊断出的错误 无法检索 NETWORK/NCR 消息 65535 的文本 ORA-02063: 前 2 行来自 INTRANET
我至少花了一天的时间回顾配置和尝试,但我总是收到这个错误。
大家有什么好的想法,