首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

-跨数据库更新表的一个有关问题()-

2012-03-29 
--------跨数据库更新表的一个问题(在线等)-------------在服务器A(IP:192.168.11.11)上有数据库Adb,Adb中

--------跨数据库更新表的一个问题(在线等)-------------
在服务器A(IP:192.168.11.11)上有数据库Adb,Adb中有表a_table  
在服务器B(IP:192.168.11.50)上有数据库Bdb,Bdb中有表b_table  

在Adb中   使用一个语句来实现更新b_table   中的值。即:

update   b_table   set   b_Name=a_table.MyName,   b_type=a_table.MyType   from
b_table,a_table   where   a.id=b.id

(上面的语句是在同一个数据库的情况下可以实现,但现在换成不同服务器上的不同数据库应该怎么改上面的语句呢?谢谢:))-

[解决办法]
添加链接服务器
[解决办法]
--Step 1 CreatLinkServer
sp_addlinkedserver @server= '别名 ',
@provider= 'SQLOLEDB ',
@srvproduct = '数据库名 ',
@datasrc = '服务器名 '
go
--Step 2 CreateLogin
sp_addlinkedsrvlogin @rmtsrvname = '别名 ',
@useself = 'false ',
@locallogin = null,
@rmtuser = '登陆用户 ',
@rmtpassword = '密码 '

update b_table
set b_Name=a_table.MyName,
b_type=a_table.MyType from
b_table,别名.数据库名.dbo.a_table where a.id=b.id
[解决办法]
首先在服务器a上,要建立一个链接数据库:
exec sp_addlikedserver
exec sp_addlinkedsrvlogin
update a set b_Name=a_table.MyName, b_type=a_table.MyType from
[192.168.11.50].bdb.dbo.b_table a,a_table b where a.id=b.id

热点排行
Bad Request.