跨数据库做一个视图 该如何做
我想跨数据库做一个视图
库1: 服务器:127.0.0.1 用户名 : sa 密码 :123
库2: 服务器:127.0.0.1 用户名 : as 密码 :456
SELECT t1.*, t2.*,t3.*
FROM 库1.dbo.表一 as t1,库1.dbo.表二 as t2,库2.dbo.表三 as t3
where 库1.dbo.表一.id=库1.dbo.表二.id and 库1.dbo.表一.id2=库2.dbo.表三.id2
[解决办法]
如果跨服务器的话就用链接服务器。
--访问不同电脑上的数据库(远程只要联好网就一样) --如果经常访问或数据量大,建议用链接服务器 --创建链接服务器 exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','远程服务器名或ip地址' exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用户名','密码' go --查询示例 select * from srv_lnk.数据库名.dbo.表名 --导入示例 select * into 表 from srv_lnk.数据库名.dbo.表名 go --以后不再使用时删除链接服务器 exec sp_dropserver 'srv_lnk','droplogins' --如果只是临时访问,可以直接用openrowset --查询示例 select * from openrowset('SQLOLEDB' ,'sql服务器名';'用户名';'密码' ,数据库名.dbo.表名) --导入示例 select * into 表 from openrowset('SQLOLEDB' ,'sql服务器名';'用户名';'密码' ,数据库名.dbo.表名)