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

高手,帮忙想个问题,看看能否实现?
我想在A数据库中的C表中进行插入数据的同时,通过触发器,或是其它非程序方式,在B数据库中的F表中进行插入相似的数据,且A和B数据库不再同一个服务器上,且有可能A和B数据库是不同的.也就是说A数据库是sqlserver,而B数据库是DB2或其它数据库.
问能否实现?

------解决方案--------------------
这种东西没做过.但是用存储过程可以实现. 如果两个数据库在同一个服务器上,可以直接

insert into tablename (列名1,列名2...)
select (对应列名1,对应列名2...) from [DataBaseName].dbo.tablename


如现在有两个数据库分别位于两个服务器上,先要建立连接服务器
--创建链接服务器
exec sp_addlinkedserver 'srv_lnk ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 '
exec sp_addlinkedsrvlogin 'srv_lnk ', 'false ',null, '用户名 ', '密码 '
go

--


insert into tablename (列名1,列名2...)
select (对应列名1,对应列名2...) from srv_lnk.[DataBaseName].dbo.tablename