oracle与sqlserver相互操作

发表于:2007-07-02来源:作者:点击数: 标签:
一:sqlserver连接oracle 1.配置 windows 的ODBC数据源: 开始菜单》设置》管理工具》数据源(ODBC)》进入配置用户DSN或者系统DSN均可以: 添加》选择Microsoft ODBC for oracle》自定义数据源名称(最好跟tns中连接串同名!)》 服务器 名称 (必填!填写t

一: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

原文转自:http://www.ltesting.net