[转贴]sqlserver连接oracle

一:sqlserver连接oracle  
  1.配置windows的ODBC数据源:    
  开始菜单—》设置—》管理工具—》数据源(ODBC)—》进入配置用户DSN或者系统DSN均可以:  
  添加—》选择Microsoft   ODBC   for   oracle—》自定义数据源名称(最好跟tns中连接串同名!)—》服务器名称  
  (必填!填写tns文件中的连接串名称)—》完成。    
   
  2.配置sqlserver2000中的连接服务器:    
  企业管理器—》安全性—》连接服务器—》右键新建连接服务器—》定义连接名称;  
  选其他数据源;   指定程序名称为:Microsoft   OLE   DB   Provider   for   oracle;   产品名称可不填;    
  数据源指定刚才ODBC中定义好的数据源名称;   提供程序字符串按以下格式填写:User   ID=username;Password=userpasswd  
  (或者按如下格式:UID=username;PWD=userpasswd),  
  这里的用户名和密码对应所要连接的oracle数据库中的用户名和密码   —》   安全性标签页里:  
  设置用此安全上下文进行,并录入oracle的数据库用户名和密码—》服务器选项标签页可默认—》确定。    
   
  3.完成了。使用方法  
  在sqlserver企业管理器—》安全性—》连接服务器打开刚建好的连接服务器—》点击表,  
  即可在右边窗口看到该oracle数据库用户拥有的的所有表名,但在这里还并不能查看表的记录,这个需要在sqserver的查询分析器中用具体sql实现!  
  访问表时,使用格式为:   [连接服务器名]..[ORACLE用户].[表名]。必须为大写。更详细具体的使用这里不再赘述。  
  ------------------------------------------------------------------------------------------  
  二:oracle连接sqlserver  
  1、安转透明网关  
  在自定义安转内  
  D:\oracle\ora92\tg4msql\admin\inittg4msql.ora       tg4msql  
  2、在D:\oracle\ora92\network\admin\listener.ora内添加  
    (SID_DESC   =  
              (GLOBAL_DBNAME   =   tg4msql)    
                (PROGRAM   =   tg4msql)  
              (ORACLE_HOME   =   D:\oracle\ora92)  
              (SID_NAME   =   tg4msql)  
          )  
  3、配置tns  
  tnsnames.ora  
  -----------------  
  例子1  
  cdma   =  
      (DESCRIPTION   =  
          (ADDRESS_LIST   =  
              (ADDRESS   =   (PROTOCOL   =   TCP)(HOST   =   zhyg)(PORT   =   1521))  
          )  
          (CONNECT_DATA   =  
              (SID   =   tg4msql)  
              (SERVER   =   DEDICATED)  
          )  
          (HS=OK)  
      )  
  例子2  
  du   =  
      (DESCRIPTION   =  
          (ADDRESS_LIST   =  
              (ADDRESS   =   (PROTOCOL   =   TCP)(HOST   =   sha38)(PORT   =   1521))  
          )  
          (CONNECT_DATA   =  
              (SID   =   jf)  
              (SERVER   =   DEDICATED)  
          )  
          (HS=OK)  
      )  
  --------  
  3、创建数据链路      
  Create   PUBLIC   DATABASE   LINK   DU   CONNECT   TO   SA   IDENTIFIED   BY   SA   USING   'DU'  
  ok可以使用了  
  select   *   from   sysobjects@cdma   
posted @ 2007-12-11 20:45  菩提树下的杨过  阅读(1493)  评论(0编辑  收藏  举报