A数据库,B数据库在同一个服务器上,A中有一张人员表,有员工ID和姓名,B中有一张工资表,有员工ID和工资,我现在统计ID,姓名,工资。 请问在C#中如何操作? 一条connectstring只能连接一个数据库,如何跨越数据库呢?由于数据太多,我不想先把A中的数据库全部读到DataTable里,然后再去查询。 如果A和B不在一个数据库服务器上呢? |
|
#110分 |
一、一个服务器中两个不同数据库的两个表查询
1、select * from 数据库1.表名 A,数据库2.表名 b on A.Id=B.Ids 2、建立两个数据库中的两个表的查询视图 二、两个服务器中两个不同数据库的两个表查询 建好连接服务器,然后在使用[连接服务器].[库名].[架构名默认是dbo].[表名]来访问 接下来的两表查询可以参考上面的方案,我没这样试过,你可以试试 |
#25分 |
加上库名就可以的,不过两个库对同一用户都要有访问权限
|
#35分 |
|
#4 |
回复2楼: 我不是问如何在SQL里面进行查询,我是说在C#开发中,一个connectionstring只能指定一个数据库,一个sqlcommand只能对应一个connectionstring,也就是一个sqlcommand只能操作一个数据库表。 |
#55分 |
如果connectionstring中的用户有查看B库的权限,sql中加上[B].[架构名默认是dbo].[表名]来访问就可以了
|
#75分 |
回复1楼: 1楼的的方法是可以的,不过我是用建立进程得到两个数据库中的两个表的查询表,再调用进程 http://blog.sina.com.cn/s/blog_4c79302301000ac0.html ps:网页中的sqlCom.ExecuteNonQuery(); 我用时改成sqlCmd.ExecuteNonQuery(); 如果还想显示表格的话可以用SqlDataAdapter |