一个sqlConnection.ConnectionString 只能连一个数据库啊
  我也觉得是程序里没有连接到pop数据库
具体怎样连呢?

解决方案 »

  1.   

    参考:
    http://topic.csdn.net/t/20051129/11/4425266.html
    http://topic.csdn.net/t/20010925/16/302338.html
      

  2.   

    create view aaa 
    as 
    SELECT   *
    FROM      OPENDATASOURCE(
             'SQLOLEDB',
             'Data Source=192.168.0.5;User ID=sa;Password=123'
             ).Northwind.dbo.Categories
    union all
    select * from Northwind.dbo.Categories参考
      

  3.   

    楼上的答案 好像不行啊
     报错“SQL Server blocked access to STATEMENT 'OpenRowset/OpenDatasource' of component 'Ad Hoc Distributed Queries' because this component is turned off as part of the security configuration for this server. A system administrator can enable the use of 'Ad Hoc Distributed Queries' by using sp_configure. For more information about enabling 'Ad Hoc Distributed Queries', see "Surface Area Configuration" in SQL Server Books Online. ”
      

  4.   

    using sp_configure to enable the use of 'Ad Hoc Distributed Queries'也就是说你的服务器禁用了分布式查询的功能注意检查一下你的Server的MSDTC网络功能
      

  5.   

    分布式查询方法有多种不知楼主的pop 和 stock数据库是不是同在一台数据库服务器中?
    是的话就楼主的直接查询就可以实现的,将你的VS中的WebConfig中使用的SQLServer登陆帐户设置为对这两个数据库的访问权限即可。
      

  6.   

    如果不是同一台数据库服务器就得使用'OpenRowset/OpenDatasource' 或者使用链接服务器的方法来实现了
      

  7.   

    方法很多:
    SELECT *
    FROM OPENROWSET('SQLOLEDB','IP/机器名';'登陆名';'密码',
       'SELECT * FROM 数据库.dbo.表 ') AS a
      

  8.   

    这是所有的方法
    --创建链接服务器
    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.表名--以后不再使用时删除链接服务器
    exec sp_dropserver 'srv_lnk','droplogins'
    go--如果只是临时访问,可以直接用openrowset
    --查询示例
    select * from openrowset('SQLOLEDB'
    ,'sql服务器名';'用户名';'密码'
    ,数据库名.dbo.表名)
    --导入示例
    select * into 表 from openrowset('SQLOLEDB'
    ,'sql服务器名';'用户名';'密码'
    ,数据库名.dbo.表名)
    select * from openrowset('SQLOLEDB'
    ,'sql服务器名';'用户名';'密码'
    ,数据库名.dbo.表名)
    openrowset可以用下面两个
    OPENDATASOURCE或是openquery--在联机帮助里有列子