我现在有两台机器A和B,各有数据库A.data和B.data
我要在同一页面中查询一AB两电脑中的A.data和B.data中的两张表的内容
且这两张表要联合查询。
我要怎么做呢JSP中

解决方案 »

  1.   

    exec sp_addlinkedserver  'srv_lnk','','sqloledb','远程服务器名或ip地址'
    exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用户名','密码'
      

  2.   

    在B服务器上连接A服务器exec sp_addlinkedserver  'srv_lnk','','sqloledb','A服务器器名或ip地址'
    exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用户名','密码'select * 
    from srv_lnk.a.date.表名 a
      

  3.   

    --创建链接服务器
    exec sp_addlinkedserver  'srv_lnk','','SQLOLEDB','B服务器名或ip地址'
    exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用户名','密码'
    go
    --查询示例
    select * from srv_lnk.Data.dbo.table1
    union all
    select * from Data.dbo.table1
    --以后不再使用时删除链接服务器
    exec sp_dropserver 'srv_lnk','droplogins'
    go
      

  4.   


    --创建链接服务器
    exec sp_addlinkedserver  'srv_lnk','','SQLOLEDB','远程服务器名或ip地址'
    exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用户名','密码'
    go--查询示例
    select * from srv_lnk.数据库名.dbo.表名
    --以后不再使用时删除链接服务器
    exec sp_dropserver 'srv_lnk','droplogins'
    go--如果只是临时访问,可以直接用openrowset
    --查询示例
    select * from openrowset('SQLOLEDB'
    ,'sql服务器名';'用户名';'密码'
    ,数据库名.dbo.表名)  
      

  5.   

    恩,谢谢楼上的所有人了,我查询可以了的。不过现在插入数据时确总是出现:
     
    该操作未能执行,因为 OLE DB 提供程序 'sqloledb' 无法启动分布式事务而不能操作成功,是为什么呢
      

  6.   

    --启动远程服务器的MSDTC服务
    --exec master..xp_cmdshell 'isql /S"xz" /U"sa" /P"" /q"exec master..xp_cmdshell ''net start msdtc'',no_output"',no_output--启动本机的MSDTC服务
    --exec master..xp_cmdshell 'net start msdtc',no_output