日期:2014-05-18  浏览次数:20546 次

sqlserver2005连接oracle
高手们好:小弟请教一个问题,我现在要用sqlserver2005的SQL   Server   Management   Studio连接oracle10,可能以后还要要连oracle9i
我的tnsnames.ora文件是这样的
TJ_DB   =
    (DESCRIPTION   =
        (ADDRESS_LIST   =
            (ADDRESS   =   (PROTOCOL   =   TCP)(HOST   =   192.2.8.251)(PORT   =   1521))
        )
        (CONNECT_DATA   =
            (SERVICE_NAME   =   ora2000)
        )
    )


我在我的Server   Management   Studio是这样写的:
EXEC   sp_addlinkedserver
      @server   =   'exchange ',
      @srvproduct   =   'Oracle ',
      @provider   =   'MSDAORA ',
      @datasrc   =   '192.2.8.251/ora2000 '

exec   sp_addlinkedsrvlogin     'exchange ',   'false ',‘sa’, 'sptv ',   'sptv '

select   *   from   openquery(exchange,   'select   *   from   SPTV.SPTV_TAB_USER ')

但是执行到最后一步报了这个错误:
链接服务器 "exchange "的   OLE   DB   访问接口   "MSDAORA "   返回了消息   "ORA-12154:   TNS:   无法处理服务名
"。
消息   7303,级别   16,状态   1,第   1   行
无法初始化链接服务器   "exchange "   的   OLE   DB   访问接口   "MSDAORA "   的数据源对象。

请高手们帮我看看是什么原因!小弟将不胜感激!先谢过了

------解决方案--------------------
去掉[]
------解决方案--------------------
--参考:

如何用sqlserver 2000链接服务器执行oracle过程

http://community.csdn.net/Expert/topic/5750/5750007.xml?temp=.1604273