参考:
此示例创建一台名为 LONDON Mktg 的链接服务器,该服务器使用用于 Oracle 的 Microsoft OLE DB 提供程序,并且假设此 Oracle 数据库的 SQL*Net 别名为 MyServer。
USE master
GO
-- To use named parameters:
EXEC sp_addlinkedserver
   @server = 'LONDON Mktg',
   @srvproduct = 'Oracle',
   @provider = 'MSDAORA',
   @datasrc = 'MyServer'
GO
-- OR to use no named parameters:
USE master
GO
EXEC sp_addlinkedserver 
   'LONDON Mktg', 
   'Oracle', 
   'MSDAORA',
   'MyServer'
GO

解决方案 »

  1.   

    to  zonelive(peter):并且假设此 Oracle 数据库的 SQL*Net 别名为 MyServer。请问不可能直接用oralce数据库sql*net作为@datasrc吗?
      

  2.   

    如果按你的写法.我上面的语句我的语句是:
    -----------------------------
    EXEC SP_ADDLINKEDSERVER
    @server = 'pub', --SQL中链接服务器名称
    @srvproduct ='Oracle', --
    @provider ='MSDAORA', --
    @datasrc ='pub'--
    -----------------------------
    好像也行啊.
    帮忙诊断一下.
      

  3.   

    并且假设此 Oracle 数据库的 SQL*Net 别名为 MyServer。这个SQL*Net 别名是不是指oracle\ora81\network\ADMIN\tnsnames.ora里面的字符串?
      

  4.   

    楼主试试这个.SQL Server到Oracle连接服务器的实现 
     
     
    作者:中国论坛网收集 来源:http://www.51one.net 加入时间:2004-8-25  
     
    SQL Server到Oracle连接服务器的实现 
      
      作者:Jennifer 
    本文以SQL Server 2k为例说明SQL Server到Oracle连接服务器的具体实现过程。1.要求pc机上安装oralce客户端软件和sqlserver2000软件。2.客户端的配置tnsnames.ora文件,配置所要连接的数据库服务器(windows,unix等平台均可以)
    eg:tnsnames.ora
    ......
    TEST =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.11.90)(PORT = 1521))
        )
        (CONNECT_DATA =
          (sid = blue)
          (SERVER = DEDICATED)
        )
      )
    ......3.配置windows的ODBC数据源:
      开始菜单—》设置—》管理工具—》数据源(ODBC)—》进入配置用户DSN或者系统DSN均可以:添加—》选择Microsoft ODBC for oracle—》自定义数据源名称(最好跟tns中连接串同名!)—》服务器名称(必填!填写tns文件中的连接串名称)—》完成。4.配置sqlserver2000中的连接服务器:
      企业管理器—》安全性—》连接服务器—》右键新建连接服务器—》定义连接名称; 选其他数据源; 指定程序名称为:Microsoft OLE DB Provider for Oracle;  产品名称可不填; 数据源指定刚才ODBC中定义好的数据源名称; 提供程序字符串按以下格式填写:User ID=username;Password=userpasswd(或者按如下格式:UID=username;PWD=userpasswd),这里的用户名和密码对应所要连接的oracle数据库中的用户名和密码 —》 安全性标签页里:设置用此安全上下文进行,并录入oracle的数据库用户名和密码—》服务器选项标签页可默认—》确定。5.准备工作全部完成啦!在sqlserver企业管理器—》安全性—》连接服务器打开刚建好的连接服务器—》点击表,即可在右边窗口看到该oracle数据库用户拥有的的所有表名,但在这里还并不能查看表的记录,这个需要在sqserver的查询分析器中用具体sql实现!访问表时,使用格式为:  [连接服务器名]..[ORACLE用户].[表名]。更详细具体的使用这里不再赘述。
      

  5.   

    通過odbc可能創建與oracle的連接。
      

  6.   

    SQL*Net 别名是指TNSNAME.ORA中的字符串。