本文以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企业管理器—》安全性—》连接服务器打开刚建好的连接服务器—》点击表,即可在右边窗口看到该orac   
    
  le数据库用户拥有的的所有表名,但在这里还并不能查看表的记录,这个需要在sqserver的查询分析器中用具体sql实现!访问表时,使用格式   
在SQL SERVER 20000中访问Oracle数据库服务器的几种方法 1.通过行集函数opendatasource
要求:本地安装Oracle客户端
select *  from opendatasource('MSDAORA', 'Data Source=XST4;User ID=manager;Password=sjpsjsjs')..MISD.PBCATCOL
其中,MSDAORA是OLEDB FOR Oracle的驱动,注意:用户名和表名一定要大小,服务器和用户名之间是两个点;
例如:
select top 10 *  from opendatasource('MSDAORA', 'Data Source=HZTEST;User ID=osstest;Password=a1234')..OSSTEST.SUBSCRIBER本地Oracle客户端配置文件中内容如下:
HZTEST =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 132.149.7.19)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = test)
    )
  )2. 使用MS SQL的openrowset函数
select A.* from openrowset('MSDAORA','XST4';'manager';'sjpsjsjs', 'MISD.PBCATCOL') as A 
order by A.ID
使用这种方式一定要用别名才行3.使用ODBC方式
select A.* from openrowset('MSDAORA','XST4_ODBC';'manager';'sjpsjsjs', 'MISD.PBCATCOL') as A order by A.ID
XST4_ODBC是ODBC数据源4.使用链接服务器方式
EXEC SP_ADDLINKEDSERVER
@server='mylinkedserver',      --链接服务器名称
@srvproduct='Oracle',          --固定
@provider='MSDAORA',           --固定
@datasrc='XST4'                --Oracle本地服务名

解决方案 »

  1.   

    这帖子里有方法:http://topic.csdn.net/u/20081027/14/3a366511-7ffe-4226-92fc-0e6634067bdc.html
      

  2.   

    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用户].[表名]。更详细具体的使用这里不再赘述。
      

  3.   

    拜托,我是要将表结构及其数据从SQLServer中导入到ORACLE中,不是要建立SQLSERVER到ORACLE的连接!