小弟近日因为工作的关系,需要从oracle 9i  访问SQL SERVER数据
SQL SERVER 服务器地址:134.140.1.141
服务器名:qzjjhongsx  用户名:reader   密码: read  
我采用HS 和 透明网关,均报 ora-28545 错误:
oracle-28545:连接代理时 Net8 诊断到错误
NCRO:无法执行RSLV连接
ORA-02063:紧接着2 lines(源于MSSQL)
 下面给一些配置片段: 一、HS 方法:
  先配了个DNS : 
 名称:  服务器:
测试通过!!  listener.ora:
  ...
   ( 
      SID_DESC=
     (SID_NAME=qzjjhongsx)
     (ORACLE_NAME= e:\oracle\ora92) 
     (PROGRAM=hsodbc)  
     )
   ) 
  ...
  tnsnames.ora:
  ...
  DBL=
  (DESCRIPTION=
   (ADDRESS=(PROTOCOL=TCP)(HOST=134.140.1.141)(PORT=1521))
   (CONNECT_DATA=(SID=qzjjhongsx))
   (HS=OK)
   ) 
  ...
参数文件
 oracle\ora92\HS\admin\initqzjjhongsx.ora:
...
HS_FDS_CONNECT_INFO=qzjjhongsx
HS_FDS_TRACE_LEVEL=OFF
...创建数据库链路:
 create database link dbl connect to reader identified by read using 'dbl';连接报错
二、透明网关方法listener.ora:
  ...
   ( 
      SID_DESC=
     (SID_NAME=MSSQL)
     (ORACLE_NAME= e:\oracle\ora92) 
     (PROGRAM=tg4msql)  
     )
   ) 
  ...
  tnsnames.ora:
  ...
  MSSQL=
  (DESCRIPTION=
   (ADDRESS=(PROTOCOL=TCP)(HOST=134.140.1.141)(PORT=1521))
   (CONNECT_DATA=(SID=MSSQL))
   (HS=MSSQL)
   ) 
  ...
参数文件
 oracle\ora92\tg4msql\admin\initMSSQL.ora:
...
HS_FDS_CONNECT_INFO="SERVER=134.140.1.141;DATABASE=data"
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
...创建数据库链路:
 create database link MSSQL connect to reader identified by read using 'MSSQL';
仍然报错, 我的ORACLE所在的盘是NTFS格式,会不会跟这个有关系?

解决方案 »

  1.   

    tnsnames.ora: 
      ... 
      MSSQL= 
      (DESCRIPTION= 
      (ADDRESS=(PROTOCOL=TCP)(HOST=134.140.1.141)(PORT=1521)) 
      (CONNECT_DATA=(SID=MSSQL)) 
      (HS=MSSQL) 
      ) 这里的 HS=MSSQL 是否应该为: HS=OK ?
      

  2.   

    ORA-28545 error diagnosed by Net8 when connecting to an agentCause: An attempt to call an external procedure or to issue SQL to a non-Oracle system on a Heterogeneous Services database link failed at connection initialization. The error diagnosed by Net8 NCR software is reported separately.Action: Refer to the Net8 NCRO error message. If this isn't clear, check connection administrative setup in tnsnames.ora and listener.ora for the service associated with the Heterogeneous Services database link being used, or with 'extproc_connection_data' for an external procedure call.
      

  3.   

    http://unix-cd.com/vc/www/16/2007-07/5391.html
      

  4.   

    找到原因了,tnsnames.ora: 
    host 应该选主机,而不是SQL SERVER服务器
      

  5.   

    各个Server间能ping通么?有没有开Windows防火墙?