1、oracle10g的db server和gateways 都是安装同一台在64位的windows server 2008上的,ip为18.1.7.99
2、sqlserver 2008的ip是18.1.7.97我的安装是根据http://hi.baidu.com/thirdline/blog/item/ca0d34a48e5aede09052eebd.html这篇帖子做的。
安装及配置过程中都没有问题。贴上配置文件:
tg4msql/admin/inittg4msql.ora:HS_FDS_CONNECT_INFO="SERVER=18.1.7.97,DATABASE=XYDB"
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER然后是tg_1/network/admin/listener.ora:TG4MSQL =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = ZiXunDBSer)(PORT = 1522))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
  )SID_LIST_TG4MSQL =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = E:\oracle\product\10.2.0\tg_1)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (SID_NAME = tg4msql)
      (ORACLE_HOME = E:\oracle\product\10.2.0\tg_1)
      (PROGRAM = tg4msql)
    )
  )然后是tg_1/network/admin/tnsnames.ora:TG4MSQL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 18.1.7.99)(PORT = 1522))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = tg4msql)
    )
    (HS = OK)
  )EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )然后是db_1/network/admin/listener.ora:
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = E:\oracle\product\10.2.0\db_1)
      (PROGRAM = extproc)
    )
  )LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = ZiXunDBSer)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
  )然后是db_1/network/admin/tnsnames.ora:
EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )TG4MSQL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 18.1.7.99)(PORT = 1522))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = tg4msql)
    )
    (HS = OK)
  )
---------------------------------------配置结束---------------------------------接下来是测试
create public database link mssql connect to "sa" identified by "sa" using 'TG4MSQL';
--用户名和密码都没有问题select * from "zzl_test"@mssql;测试dblink的时候没有通过,没有报错,只是一直在这儿执行。等了一个小时都没有错误信息提示出来。非常郁闷,望各位帮忙。