我配置了一个sqlserver的透明网关,用tnsping都可以,但我登陆时总是出现“tns:监听器无法处理连接描述符中所给出的SID”这个错误,为什么,谢谢了initpubs.ora:
HS_FDS_CONNECT_INFO = "SERVER=WWH207;DATABASE=pubs"
HS_DB_NAME = pubs
HS_FDS_TRACE_LEVEL = OFF
HS_FDS_RECOVERY_ACCOUNT = RECOVER
HS_FDS_RECOVERY_PWD = RECOVERlistener.ora:
SID_LIST_WWH =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = E:\oracle\ora92)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = wwh)
      (ORACLE_HOME = E:\oracle\ora92)
      (SID_NAME = wwh)
    )
    (SID_DESC =
     (SID_NAME = pubs)
     (ORALCE_NAME = E:\oracle\ora92)
     (PROGRAM = pubs
    ) 
  )
  
WWH =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
     )
    )
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
  )
tnsnames.ora:
pubs = 
  (DESCRIPTION = 
   (ADDRESS_LIST =
     (ADDRESS=(PROTOCOL =TCP)(HOST = localhost)(PORT = 1521))
   )
   (CONNECT_DATA = 
   (SID = pubs)
   )
   

解决方案 »

  1.   

    pubs = 
      (DESCRIPTION = 
       (ADDRESS_LIST =
        (ADDRESS=(PROTOCOL =TCP)(HOST = localhost)(PORT = 1521))
       )
       (CONNECT_DATA = 
       (service_name = pubs)
       )
      

  2.   

    (SID_DESC =
         (SID_NAME = pubs)
         (ORALCE_NAME = E:\oracle\ora92)
         (PROGRAM = tg4msql)
        )
      

  3.   

    又,“我登陆时总是出现“tns:监听器无法处理连接描述符中所给出的SID”这个错误”这个是你连接什么数据库时报的?是用sqlplus连接透明网关吗?透明网关是不能用sqlplus直接连接的。
      

  4.   

    不是的,我使用PLSQL Developer工具来连接
      

  5.   

    透明网关不能通过任何oracle客户端直接连接,只能通过DBLINK访问。