sql语句跨服务器跨数据库执行

进入用户个人空间
加为好友
发送私信
在线聊天
  • wuyi8808
  • 等级:
  • 可用分等级:
  • 总技术分:
  • 总技术分排名:
发表于:2009-04-15 21:38:422楼 得分:0
sql语句跨服务器跨数据库执行


第一种方法:

select * from OPENDATASOURCE('SQLOLEDB','server=服务器ip;uid=sa;pwd=密码').库名.dbo.表名

第二种方法:
先使用联结服务器:
EXEC sp_addlinkedserver '别名','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=远程名;UID=用户;PWD=密码;'
exec sp_addlinkedsrvlogin  @rmtsrvname='别名',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='密码'
GO
然后你就可以如下:
select * from 别名.库名.dbo.表名
insert 库名.dbo.表名 select * from 别名.库名.dbo.表名
select * into 库名.dbo.新表名 from 别名.库名.dbo.表名
go


如果是Access数据库

select * from OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0','my.mdb')...表名


Access数据库,别名方法

sp_addlinkedserver 'jcmdb','OLE DB Provider for Jet','Microsoft.Jet.OLEDB.4.0','my.mdb';
sp_addlinkedsrvlogin 'jcmdb', false, 'sa', 'Admin', NULL
以上两行只要在查询分析器中执行一次。

然后就可以在程序中使用:

select * from jcmdb...表名



修改 删除 举报 引用 回复
原文地址:https://www.cnblogs.com/rickiedu/p/1436739.html