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

请教一个存储过程
服务器1:
IP:192.168.1.5  
数据库:Sql   Server   2000
数据库名:Rxc0

服务器2:
IP:192.168.1.6  
数据库:Oracle
数据库名:Rxc1

这两个数据库中,都有一个表:Content

问题:在sql   server   2000中,写一个存储过程,把服务器1、服务器2中的表Content,合并为一个临时表tmpContent
多谢!




------解决方案--------------------
要在SQL Server中访问Oracle的表,需要:

先作前期配置工作:

1、在SQL Server服务器安装Oracle客户端。
2、配置监听程序。
3、配置服务名。
4、创建链接服务器。
5、用openquery()进行访问,如:insert 、delete、update、select 等

--查询Oracle表中数据

select *
from Openquery(链接服务器名称, 'select * from system.表名 ')


--在SQL Server中执行SQL语句,删除Oracle中表的数据

DELETE Openquery(链接服务器名称, 'select * from system.表名 ')


--在SQL Server中执行SQL语句,追加数据到Oracle表中

INSERT INTO openquery(链接服务器名称, 'select 字段列表 from system.Oracle的表名 ') (字段列表 )
SELECT 字段列表
FROM 表名


--update类似
------解决方案--------------------
楼上正解。也可以用odbc来访问oracle。但是都必须装oracle客户端,在sql server 端不需要配置监听,只需要配置本地网络服务名即可。
我的异常网推荐解决方案:oracle存储过程,http://www.aiyiweb.com/oracle-develop/177537.html