sql 服务器:192.158.158.203
oracle 是我本机电脑 透明网关也是我本机。
配置:
E:\oracle\product\10.2.0\db_1\tg4msql\admin
HS_FDS_CONNECT_INFO="SERVER=192.158.158.203;DATABASE=DareUserTest"
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVERE:\oracle\product\10.2.0\db_1\NETWORK\ADMIN
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = E:\oracle\product\10.2.0\db_1)
      (PROGRAM = extproc)
    )
  (SID_DESC =
   (SID_NAME = tg4msql) 
   (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
   (PROGRAM = tg4msql) 
   )
  )LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = YLMF-20111220XD)(PORT = 1521))
    )
  )
tnsnames.ora:
ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = YLMF-20111220XD)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )
TG4MSQL = 
 (DESCRIPTION =  
 (ADDRESS_LIST =   
   (ADDRESS = (PROTOCOL = TCP)(HOST = YLMF-20111220XD)(PORT = 1521))  
   )  
 (CONNECT_DATA =   
 (SID = tg4msql) 
   )    
 (HS = OK) 
 )
最后建DBLINK :
Create database link Myserver connect to "sa" identified by"009" using'TG4MSQL'
查询:
select * from XXX@Myserver 报错:
ORA-28545:连接代理时 Net8 诊断到错误 Unable to retrieve text of NETWORK/NCR message 655335 ORA-02063:紧接着 2lines(起自 MYSERVER)oracle

解决方案 »

  1.   

    1 SID_LIST_LISTENER最好不要写两个PROGRAM 你要是原来的没用就直接改2 你的TNSNAME里面最后一个的空格和换行对吗?Oracle的解析能力很弱。经常是多个空格少个空格就出问题了。
      

  2.   

    一 你先确认你连接本地的数据库是否正常
    二 如果本地连接没有问题,那就是dblink问题了。
       我以前遇到的有两点:
       1 防火墙就行隔离了,取消就好了
       2 修改下密码,将密码改为大写的英文字母