教你如何操作远端数据库的方法一
教你如何操作远端数据库的方法一
因为在某些情况下,我们会希望把本地一个数据库中的表查询出来,然后直接插入到远端的数据库中的相对应的表。实现两个数据库之间表的复制。具体内容如下:
远程主机信息:ip:192.168.10.5,用户名:sa ,密码:123456,所要操作的数据库rtReport
--创建链接服务器
exec sp_addlinkedserver 'belie8', ' ', 'SQLOLEDB', '192.168.10.5 '
exec sp_addlinkedsrvlogin 'belie8 ', 'false ',null, 'sa', '123456'
go
--查询示例
insert into t_account select * from srv_lnk.rtReport.dbo.t_account
---向本地的表t_account中插入远端主机rtReport数据库中的t_account表的记录
--返回在本地服务器上定义的链接服务列表
exec sp_linkedservers
--以后不再使用时删除链接服务器
exec sp_dropserver 'belie8 ', 'droplogins '
go
这里再讲几句,特别要注意select into和insert into selet 两种表复制语句的区别
第一种的格式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1
要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量。
第二种的格式为: SELECT vale1, value2 into Table2 from Table1
要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中 。
远程主机信息:ip:192.168.10.5,用户名:sa ,密码:123456,所要操作的数据库rtReport
--创建链接服务器
exec sp_addlinkedserver 'belie8', ' ', 'SQLOLEDB', '192.168.10.5 '
exec sp_addlinkedsrvlogin 'belie8 ', 'false ',null, 'sa', '123456'
go
--查询示例
insert into t_account select * from srv_lnk.rtReport.dbo.t_account
---向本地的表t_account中插入远端主机rtReport数据库中的t_account表的记录
--返回在本地服务器上定义的链接服务列表
exec sp_linkedservers
--以后不再使用时删除链接服务器
exec sp_dropserver 'belie8 ', 'droplogins '
go
这里再讲几句,特别要注意select into和insert into selet 两种表复制语句的区别
第一种的格式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1
要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量。
第二种的格式为: SELECT vale1, value2 into Table2 from Table1
要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中 。
没有这么多结果。简简单单,走好每一步路----belie8