异构数据库连接问题[ORALCE-SQLSERVER]

我是想通过通过SQL服务,使用户直接在Oracle数据库中执行对非Oracle数据库的各种SQL语句。
我采用的是通用连方法(ODBC),这样可以不受透明网关的限制
ORALCE版本:9.1
SQLSERVER:2000,注册方式,通过用户名密码(sa)
我配置好,怎么都不能通过ORACLE访问SQLSERVER里的数据.下面是我的步骤,请大家帮我看看问题出在哪里
1:配制好ODBC,名字为oradns2sql
2:修改tnsnames.ora,增加如下内容
LNK2SQL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = cxj)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = cxj)
      (HS = OK)
    )
  )
3:修改listener.ora[粗体是我增加的部分]
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = cxj)
      (ORACLE_HOME = d:\oracle\ora92)
      (SID_NAME = cxj)
    )
    (SID_DESC =
      (PROGRAM = extproc)
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = d:\oracle\ora92)
    )
    (SID_DESC =
      (PROGRAM = hsodbc)
      (SID_NAME = cxj)
      (ORACLE_HOME = d:\oracle\ora92)
    )
  )
4:重启监听和服务
5:编辑位于ORACLE_HOME\HS\ADMIN内inithsodbc.ora
HS_FDS_CONNECT_INFO = dnsora2sql < ODBC系统名   
  HS_FDS_TRACE_LEVEL = 0
6:创建DBLINK
create database link ‘ora2sql’ connect
to "sa" identified by "cxj" using ‘lnk2sql’;
7:最后测试连接
select * from sysobjects@ora2sql

报错:ORA-01017: invalid username/password; logon denied
ORA-02063: 紧接着line(源于ORA2SQL)
 
但是我的用户名和密码是正确啊,是可以访问SQLSERVER的,不知道为什么报这个错
请大家帮忙看看啊,问题出在哪个环节了,非常感谢!!!!!

[ 本帖最后由 木槿123 于 2008-8-24 11:50 编辑 ]
我也来说两句 查看全部回复

最新回复

  • 木槿123 (2008-8-24 12:23:34)

    我来结贴的,谢谢大家,问题已经解决了。
    错误原因如下:
    1、第二步错误:有一个括号的位置打错了
    LNK2SQL =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = cxj)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SID = cxj)
        ) (HS = OK)
      )
    2、我的SID名字错误了
    应该是用一个不存在的SID名字

    3、第五步错误了编辑位于ORACLE_HOME\HS\ADMIN内inithsodbc.ora
    不是编辑inithsodbc.ora还是新建一个和我的SID名字一样的,ORA,如我的SID名字是test,则建一个inittestc.ora

    结果就成功了,好高兴喔,在此感谢灰亦的提醒呵呵。谢谢谢谢!