在我的笔记本上安装了oracle9I,包括透明网关组件,sqlserver2000,并且数据库已经全部启动.在我按照此http://database.51cto.com/art/201108/284438.htm配置后,报出了这个错误:
ORA-28500 a,=s oracle 5=7g oracle 05m3j175;x4kpeo"
[Transparent getway for MSSQL]could not open MS-SQL Connection
ORA-02063:???2linesTEST?
以上报出完整错误信息,上面连接教程里也提出会有这个错误,但是在sqlserver用户名和密码没加双引号的情况下,但我加了.报出的错误信息也是不一样的.我的sqlserver有两个实例,可以使用telnet localst 1433 ping通.具体的配置是:
initMSDB.ora文件:
HS_FDS_CONNECT_INFO="SERVER=172.16.245.89;DATABASE=MSDB"
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
以上我只修改了HS_FDS_CONNECT_INFO为我本地的IP,我想用sqlserver的系统数据库进行测试.LISTENER.ora文件:
# LISTENER.ORA Network Configuration File: D:\oracle\ora90\network\admin\listener.ora
# Generated by Oracle configuration tools.LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = YL-201111150003)(PORT = 1521))
      )
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
      )
    )
  )SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
     (ORACLE_HOME = D:\oracle\ora90)
    (PROGRAM = extproc)
  )    (SID_DESC =
      (SID_NAME = MSDB)
      (ORACLE_HOME = D:\oracle\ora90)
     (PROGRAM = tg4msql)
  )
)
以上我添加了最后一个节点tnsnames.ora文件:
# TNSNAMES.ORA Network Configuration File: D:\oracle\ora90\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.ECU2 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.24.2.3)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ecu2)
    )
  )ora =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ora)
    )
  )test =
 (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = MSDB)
    )
    (HS = OK)
 )
以上我添加了test这个TNS名称.
创建DBLINK后,报出我说的那个错误,我确定SQLserver的客户端网络实用工具和服务网络实用工具都已经启动TCP/IP协议,并且端口为1433.
这是我创建DBLINKR的语句:create database link TEST.US.ORACLE.COM
  connect to sa identified by "1234"
  using 'test';
以下是我测试的语句:select * from systypes@test
执行时报错,谢谢大家帮忙看一下:)

解决方案 »

  1.   

    解决了,现在可以连接了。可能是因为SQLSERVER版本的原因。新的问题又出现了,我要连接多个电脑上的SQLSERVER。目前是8.00.2039连接成功,但是连接8.00.760不行。可能是版本的原因。
      

  2.   

    不对,不是版本的问题,我连接同版本的另一个SQLSERVER,还是报这个错。真的不知道为什么。
      

  3.   

    能帮忙看下我的配置是什么问题吗?oracle 9i      ip 192.168.1.199
    sqlserver 2005     ip 192.168.1.199initsqltest.oraHS_FDS_CONNECT_INFO="SERVER=192.168.1.199;DATABASE=master"
    HS_FDS_TRACE_LEVEL=OFF
    HS_FDS_RECOVERY_ACCOUNT=RECOVER
    HS_FDS_RECOVERY_PWD=RECOVER
    listener.ora 
    增加
    (SID_DESC =
          (PROGRAM = tg4msql)
          (SID_NAME = sqltest)
          (ORACLE_HOME = F:\oracle\ora90)
        )tnsnames.orasqltest =
       (DESCRIPTION =
              (ADDRESS_LIST =
                (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.199)(PORT = 1521))
              )
              (CONNECT_DATA =
                (SID = sqltest)
              )
              (HS = OK) 
            )
    create public database link sql_1
     connect to sa identified by zysoft
     using 'sqltest';执行
    select * from spt_values@sql_1
    语句时  抛异常ora-28500: 连接oracle到非 oracle 系统时返回此信息:
    [transparent gateway for MSSQL]Could not open MS-SQL Connection
    ORA-02063: 紧接着2 lines(源于SQL_1)
    配置上有什么问题吗?
    sqlserver2005上需要配置什么吗?