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邮箱,万分感谢!!!