Oracle11g透明网关连SQL Server出现“ORA-28545: 连接代理时 Net8 诊断到错误..........”

取名好男 2014-05-07 10:01:37
我用Oracle11g透明网关连SQL Server, Oracel、网关 安装在172.16.102.18上,SQL Server安装在“172.16.102.8”上,配置各参数后,tnsping能通,数据库连接也能正确创建,但访问时出现如下错误:

ORA-28545: 连接代理时 Net8 诊断到错误
Unable to retrieve text of NETWORK/NCR message 65535
ORA-02063: 紧接着 2 lines (起自 BSRUN)

请大虾们指点,我已经折腾好几天了,网上虽然有类似贴,但都没有一个详细的解决方案。以下贴上我配置透明网关的环境描述:

1、Oracle11g
  IP地址:172.16.102.18
  Oracle根目录:C:\Oracle11g\product\11.2.0\dbhome_1
  Oracle端口:1521
  SID:orcl

2、Oracle gateway11
  IP地址:172.16.102.18
  gateway11根目录:D:\product\11.2.0\tg_1
  gateway端口:1522
  SID:bsrun

3、Sqlserver2000
  IP地址:172.16.102.8
  数据库名:bsrun
  用户名:sa
  密码:123

4、initbsrun.ora
  位置:D:\product\11.2.0\tg_1\hs\admin\initbsrun.ora
  这个文件是配置连接sql server用的,文件组成结构是init+SID.ora,所以此处SID=bsrun
  文件内容如下:
   HS_FDS_CONNECT_INFO = 172.16.102.8//bsrun
   HS_FDS_TRACE_LEVEL = OFF
   HS_FDS_RECOVERY_ACCOUNT=sa
   HS_FDS_RECOVERY_PWD=123

5、listener.ora
  位置:D:\product\11.2.0\tg_1\NETWORK\ADMIN \ listener.ora
  文件内容如下:
 # listener.ora Network Configuration File: D:\product\11.2.0\tg_1\NETWORK\ADMIN\listener.ora
 # Generated by Oracle configuration tools.

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1522))
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.102.18)(PORT = 1522))
)
)

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = bsrun)
(SID_NAME = bsrun)
(ORACLE_HOME = D:\product\11.2.0\tg_1)
(PROGRAM = bsrun)
)
)
ADR_BASE_LISTENER = D:\product\11.2.0\tg_1


6、tnsnames.ora
  位置:D:\product\11.2.0\tg_1\NETWORK\ADMIN \ tnsnames.ora
  内容如下:
# tnsnames.ora Network Configuration File: C:\Oracle11g\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)

ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.102.18)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)

bsrun =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.102.18)(PORT = 1522))
)
(CONNECT_DATA =
(SID = bsrun)
)
(HS = OK)
)


7、listener.ora
位置:C:\Oracle11g\product\11.2.0\dbhome_1\NETWORK\ADMIN\ listener.ora
内容如下:
# listener.ora Network Configuration File: C:\Oracle11g\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\Oracle11g\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:C:\Oracle11g\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
)

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.102.18)(PORT = 1521))
)
)

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = bsrun)
(ORACLE_HOME = C:\Oracle11g\product\11.2.0\dbhome_1)
(PROGRAM = bsrun)
)
)

ADR_BASE_LISTENER = C:\Oracle11g



8、tnsnames.ora
位置:C:\Oracle11g\product\11.2.0\dbhome_1\NETWORK\ADMIN\ tnsnames.ora
内容如下:


# tnsnames.ora Network Configuration File: C:\Oracle11g\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)

ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.102.18)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)

bsrun =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.102.18)(PORT = 1522))
)
(CONNECT_DATA =
(SID = bsrun)
)
(HS = OK)
)


9、创建link
在命令窗口中执行
create database link bsrun connect to sa identified by "123" using 'bsrun';

10、查询link中的数据
  在命令窗口执行
  select * from ms_mzmx@bsrun;

出现如下错误:

  ORA-28545: 连接代理时 Net8 诊断到错误
Unable to retrieve text of NETWORK/NCR message 65535
ORA-02063: 紧接着 2 lines (起自 BSRUN)

跪求解决方案,我QQ:49902799,可直接发我QQ邮箱,万分感谢!!!
...全文
14990 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

请问最后怎么解决的?

qq_19969843 2015-05-28
  • 打赏
  • 举报
回复
明显的不对,tnsnames.ora这个文件是Oracle里面的,http://www.itpub.net/thread-1792070-1-1.html 只能参考,路径和命名
bw555 2014-10-11
  • 打赏
  • 举报
回复
bw555 2014-10-11
  • 打赏
  • 举报
回复
监听中PROGRAM写得不太对吧
 配置E:\Oracle\product\11.2.0\tg_1\NETWORK\ADMIN\listener.ora

复制代码
SID_LIST_LISTENER =  
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = dg4msql)    #此处为配置文件SID,要与initdg4msql.ora中的名字对应
      (ORACLE_HOME = E:\Oracle\product\11.2.0\tg_1)
      (PROGRAM = dg4msql)   #此处为配置文件目录名称,Oracle 11g中都为dg4msql,不需变更(注1)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.108.3.20)(PORT = 1522))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1522))
    )
  )

ADR_BASE_LISTENER = E:\Oracle\product\11.2.0\tg_1
复制代码
注1:如果将此处的dg4msql变掉,在最后通过Oracle访问SQL SERVER时会报以下错误

ORA-28545: 连接代理时 Net8 诊断到错误 
Unable to retrieve text of NETWORK/NCR message 65535 
ORA-02063: 紧接着 2 lines
三味书屋 2014-10-11
  • 打赏
  • 举报
回复
我也有此问题.....
取名好男 2014-05-13
  • 打赏
  • 举报
回复
这么大的论坛,竟然没有人回贴???
内容概要:本文系统研究了在电力系统负荷发生突变的动态环境下,采用无迹卡尔曼滤波(UKF)与自适应无迹卡尔曼滤波(AUKF)进行三相状态估计的方法。通过Matlab平台实现了两种滤波算法的仿真模型,构建了包含三相电力系统建模、非线性状态方程推导、量测系统设计在内的完整状态估计框架。重点对比分析了UKF与AUKF在突变负荷扰动下的估计精度、收敛速度与鲁棒性,深入探讨AUKF通过实调整噪声协方差实现自适应的能力,从而有效应对系统模型不确定性和外部动态变化,提升状态估计的可靠性。研究为智能电网在复杂动态工况下的实监控、安全评估与优化控制提供了坚实的算法基础与仿真验证手段。; 适合人群:具备电力系统分析、现代控制理论基础及一定Matlab编程能力的研究生、科研人员和工程技术人员。; 使用场景及目标:① 掌握UKF在非线性电力系统状态估计中的具体应用流程与实现细节;② 深入理解AUKF的自适应机制及其在负荷突变、模型失配等动态工况下提升估计性能的原理与优势;③ 为智能电网的状态监测、故障诊断、实调度与主动防御等高级应用提供可靠的算法支持与可复现的仿真平台。; 阅读建议:建议读者结合电力系统状态估计的经典理论,仔细研读并运行所提供的Matlab代码,重点关注系统模型的建立、UKF/AUKF算法的参数初始化、负荷突变事件的建模方式,以及两种算法在电压、电流等状态变量估计误差上的对比分析,通过仿真结果的可视化深入理解算法差异与工程应用价值。

3,499

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧