我oracle server(数据库id为gao)和透明网关都在gaoyt上,ip为192.168.8.232。sqlserver也在这台机器上。
C:\oracle\ora92\network\admin下的tnsnames.ora为:
GAO =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = gaoyt)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = gao)
    )
  )TG4MSQL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = gaoyt)(PORT = 1521))
    )
    (CONNECT_DATA =
      (sid = tg4msql)
      (HS = OK)
    )
  )
C:\oracle\ora92\network\admin下的listener.ora为:
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = gaoyt)(PORT = 1521))
      )
    )
  )SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = tg4msql)
      (ORACLE_HOME = c:\oracle\ora92)
      (PROGRAM = tg4msql)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = gao)
      (ORACLE_HOME = c:\oracle\ora92)
      (SID_NAME = gao)
    )
  )
透明网关目录C:\oracle\ora92\tg4msql\admin下的inittg4msql.ora为:
HS_FDS_CONNECT_INFO="SERVER=192.168.8.232;DATABASE=test"HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
用gyt登陆
sql>create database link TOSQL2K
  connect to GYT identified by GYT
  using 'tg4msql';
最后执行
SQL> select * from t@tosql2k;select * from t@tosql2kORA-28546: connection initialization failed, probable Net8 admin error
ORA-02068: following severe error from TOSQL2K
ORA-03113: end-of-file on communication channel
请指教

解决方案 »

  1.   

    tg4msql_agt_3872.trc内容如下:Heterogeneous Agent Release 
    9.2.0.1.0 
    HS Agent diagnosed error on initial communication,
       probable cause is an error in network administration
       Network error 2:  NCR-00002: NCR: Invalid usage
      

  2.   

    连接sqlserver
    先安装:Oracle Transparent Gateway for Microsoft SQL Server 9.2.0.1.0
    安装完毕后会在.. oracle\ora92目录下新增一个tg4msql目录,然后编辑
    oracle\ora92\tg4msql\admin目录里面的inittg4msql.ora文件:
    # This is a sample agent init file that contains the HS parameters that are
    # needed for the Transparent Gateway for SQL Server
    #
    # HS init parameters
    #
    HS_FDS_CONNECT_INFO="SERVER=10.120.10.139;DATABASE=数据库名"
    HS_FDS_TRACE_LEVEL=OFF
    HS_FDS_RECOVERY_ACCOUNT=RECOVER
    HS_FDS_RECOVERY_PWD=RECOVER
    然后更改。。:\oracle\ora92\network\admin目录下的listener.ora文件 # LISTENER.ORA Network Configuration File: E:\oracle\ora92\network\admin\listener.ora
    # Generated by Oracle configuration tools.
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
          )
          (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = TCP)(HOST = drpxy01)(PORT = 1521))
          )
        )
      )SID_LIST_LISTENER =
      (SID_LIST =
     
        (SID_DESC =
          (ORACLE_HOME = E:\oracle\ora92)
          (SID_NAME = tg4msql)
          (PROGRAM=tg4msql)
        )
       .................然后更改。。\oracle\ora92\network\admin目录下的tnsnames.ora文件,增加一个服务名
    SQLSERVER.TEPCO.NCPG=
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 10.120.6.1)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SID = tg4msql)
        )
        (HS=OK)
      )
    然后重新启动listener服务;
      

  3.   

    我按照上面做了 但是有错 Network error 2:  NCR-00002: NCR: Invalid usage能解释这个错误吗
      

  4.   

    参见:
    http://community.csdn.net/Expert/TopicView1.asp?id=4168018