A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

问下大家,同一局域网下有两台sqlserver服务器A和B
有没有什么办法这样写Sql语句:
select Id,Name,Score from A.T_users,B.T_Scores
where ...........
是不是理论上不行,以为根本就不在一个连接中?

评分

参与人数 1技术分 +1 收起 理由
李荣壮 + 1

查看全部评分

6 个回复

倒序浏览
目的是要把北京上海广州的服务器里的表组合到一起用一句SQL语句写查询。大家不要告诉我实现这个功能应不应该这样,我觉得应该分三个connection去做。。。偶就是问问,理论上有没有这种可能,有个SB非要我这样弄。。。还跟我说他们那程序员曾经这样做的。。。
回复 使用道具 举报
你同时只能连接一个数据库,并进行查询,好像不能这们进行查询
回复 使用道具 举报
我也是这么想的。。。
回复 使用道具 举报
当然可以 博客园有分布式查询的文章 看看吧
回复 使用道具 举报
谢谢郑文童子

-- Define a linked server on an instance of SQL Server by using @datasrc.
sp_addlinkedserver
    @server = 'LondonPayroll1',
    @srvproduct = ' ',
    @provider = 'SQLNCLI',
    @datasrc = 'London\Payroll'

-- Define a linked server on an instance of SQL Server by using
-- server_name\instance_name in a provider string.
sp_addlinkedserver
    @server = 'LondonPayroll2',
    @srvproduct = ' ',
    @provider = 'SQLNCLI',
    @provstr = 'Server=London\Payroll'

-- Specify an instance of SQL Server in OPENDATASOURCE
-- by using a provider string.
SELECT *
FROM OPENDATASOURCE('SQLNCLI',
    'Data Source=London\Payroll;Integrated Security=SSPI')
    .AdventureWorks2008R2.HumanResources.Employee

-- Specify an instance of SQL Server in OPENROWSET
-- by using a provider string.
SELECT a.*
FROM OPENROWSET(
     'SQLNCLI',
     'Server=London\Payroll;Trusted_Connection=yes',
      AdventureWorks2008R2.HumanResources.Employee) AS a
回复 使用道具 举报
nickren 发表于 2012-1-9 10:50
两台SQLserver相互查询,像你这样是不可以的,因为是不同的服务器,
但是实现两数据库资料在有相关联的情况 ...

谢谢nickren ~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马