日期:2014-05-19  浏览次数:20427 次

分别在两个库里的表该怎么写啊 ???
System.Data.SqlClient.SqlDataAdapter   mycommand   =   new   System.Data.SqlClient.SqlDataAdapter( "select   a.1,b.1   from   a,b ",myconnection)

本来a,b在一个库里的   。。

现在需要把B表移动到另外一个库里。。。移动过去后,CONNECTION需要重新连一个,,、
分别在两个库里的表该怎么写啊   ???
我这句要联合查询的   。。。。。。。。。。
请高手指点迷津。。。。。。。。。。。。。。。。

------解决方案--------------------
联合查询也要给个条件把
------解决方案--------------------
不需再重新设置.只要让当前连接数据库用户有访问另一数据库的权限就行了.
------解决方案--------------------
如果两个库不在一个服务器上,可以用链接服务器。
------解决方案--------------------
同一服务器用 databasename.username.tablename
不同服务器用 linkserver 既linkservername.databasename.username.tablename
------解决方案--------------------
学习中.
------解决方案--------------------
同一服务器用 databasename.username.tablename
----------------------
看你的连接就知道你的两个表在一个库里面
你用这条连接
<add key= "mysql2 " value= "Server=192.168.1.90;uid=xxx;pwd=xxx;database=Live2500BBS "/>
查FuWu库里的表
select * from FuWu.dbo.[你要查的表名]
用另一条连接同理

所以你的随便用那条连接都可以做联合查询

select * from [你要查的Live2500BBS库表名],
FuWu.dbo.[你要查的FuWu库表名]
where 条件


不同服务器用 linkserver 既linkservername.databasename.username.tablename
-------------------------------------
如果不熟悉 linkserver 就用企业管理器直接点
会用就用sp_addlinkedserver 添加


如果还是不会你就查opendatasource函数
这个是最简单的了

比如你在Live2500BBS库里要查FuWu的某表做联合
select * from opendatasource(
'sqlOledb ',--这是2000的驱动,如果是2005用SQLNCLI驱动
'data source=192.168.1.90;user id=xxx;password=xxx '
).FuWu.dbo..[你要查的FuWu库表名],[你要查的Live2500BBS库表名]
where 条件

建议用linkserver,opendatasource在2005里面支持不好
------解决方案--------------------
hb_gx(高升)
已经讲清楚了
------解决方案--------------------
select * from 数据库1..表1 join 数据库2..表2
------解决方案--------------------
學習
------解决方案--------------------
直用sql跨服务器查询就可以了.SELECT * FROM
OPENDATASOURCE( 'SQLOLEDB ', 'Data Source=192.168.0.1;User ID=sa;Password=sa ')
.[database].[dbo].[datatable]