如何实现两个异地数据库中表的联合查询?

Carlroy 2003-12-02 05:37:12
比如一个为218.112.201.38 一个为211.114.135.79

上分别有pubs和pub_sub两个数据库

要对pubs中的user表和pub_sub中的user进行比较.

请问各位GGJJ改怎么办?
...全文
88 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Carlroy 2003-12-03
  • 打赏
  • 举报
回复
写错了怎么杀掉它?

能给出参数的说明么?

感谢感谢!!
lvltt 2003-12-02
  • 打赏
  • 举报
回复

SELECT *
FROM OPENDATASOURCE(
'SQLOLEDB',
'Data Source=服务名;User ID=用户;Password=密码'
).库名.dbo.表名

---------------------------------------------------------------

select * into 本地库名..表名 from OPENDATASOURCE(
'SQLOLEDB',
'Data Source=远程ip;User ID=sa;Password=密码'
).库名.dbo.表名

insert 本地库名..表名 from OPENDATASOURCE(
'SQLOLEDB',
'Data Source=远程ip;User ID=sa;Password=密码'
).库名.dbo.表名

或使用联结服务器:
EXEC sp_addlinkedserver
'别名',
'',
'MSDASQL',
NULL,
NULL,
'DRIVER={SQL Server};SERVER=远程名;UID=用户;PWD=密码;'
GO
然后你就可以如下:
select * from 别名.库名.dbo.表名
insert 库名.dbo.表名 select * from 别名..库名.dbo.表名
select * into 库名.dbo.新表名 from 别名..库名.dbo.表名
go
LoveSQL 2003-12-02
  • 打赏
  • 举报
回复
建立连接服务器
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 a.* from 别名.库名.dbo.表名 a,tbl b where a.field=b.field
shuiniu 2003-12-02
  • 打赏
  • 举报
回复
使用联结服务器:
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 别名.pubs.dbo.[user] a full join
pub_sub.dbo.[users] b on a.user = b.user
go
txlicenhe 2003-12-02
  • 打赏
  • 举报
回复

/********************链接数据库 *******************************/

select * into 本地库名..表名 from OPENDATASOURCE(
'SQLOLEDB',
'Data Source=远程ip;User ID=sa;Password=密码'
).库名.dbo.表名

insert 本地库名..表名 select * from OPENDATASOURCE(
'SQLOLEDB',
'Data Source=远程ip;User ID=sa;Password=密码'
).库名.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

34,874

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧