sql2000跨服务器的存储过程问题

来源:百度知道 编辑:UC知道 时间:2024/05/30 04:51:24
问题是这样的,我要从 192.168.87.142服务器中的数据库A中的表a中筛选符合条件的数据,插入到192.168.87.138服务器上数据库B中表b内,用纯存储过程实现,这个存储过程如何写? 忘大虾们赐教!
两个表的结构是不同的,只是需要A表中的一些字段插到B表中,如A中有id,name,word,author,time,需要将name,word,author插入到B,而B表是bid,name2,word2,author2,reason

在B数据库所在机器建立存储过程
DECLARE @reason Varchar(200);
SET @reason = '';
INSERT INTO B(bid, name2, word2, author2, reason)
SELECT id, name, word, author, @reason FROM OPENDATASOURCE('SQLOLEDB',
'Data Source = 192.168.87.142;User ID=sa;Password=123;').A.dbo.a
在A数据库所在机器建立的话反一下

建议分两部,第一,在192.168.87.142上查询符合条件的数据到一张新标准;
第二,将新表数据保存进192.168.87.138服务器上。

你新建一个连接服务器不久可以啦!
在138上创建连接对象连接到142
将存储过程放在138上问题能解决了.

--创建远程链接
exec sp_addlinkedserver @server = 'data'--服务器别名
, @srvproduct = 'MS'
, @provider = 'SQLOLEDB'
, @datasrc = '192.168.0.142'--数据源
, @location = ''
, @provstr = ''
, @catalog = '数据库名'--要访问的数据库名

--访问表
select * from data.数据库名.dbo.A