connectstring只能连接一个数据库,如何跨越数据库查询

.Net技术 码拜 9年前 (2015-08-12) 1305次浏览

 

A数据库,B数据库在同一个服务器上,A中有一张人员表,有员工ID和姓名,B中有一张工资表,有员工ID和工资,我现在统计ID,姓名,工资。

请问在C#中如何操作?

一条connectstring只能连接一个数据库,如何跨越数据库呢?由于数据太多,我不想先把A中的数据库全部读到DataTable里,然后再去查询。

如果A和B不在一个数据库服务器上呢?

#1

10分

一、一个服务器中两个不同数据库的两个表查询

1、select * from 数据库1.表名 A,数据库2.表名 b on A.Id=B.Ids

2、建立两个数据库中的两个表的查询视图

二、两个服务器中两个不同数据库的两个表查询

建好连接服务器,然后在使用[连接服务器].[库名].[架构名默认是dbo].[表名]来访问

接下来的两表查询可以参考上面的方案,我没这样试过,你可以试试

#2

5分

加上库名就可以的,不过两个库对同一用户都要有访问权限
#3

5分


SQL SERVER服务器链接连接(即sql server的跨库连接)


Oracle跨库链接操作

#4

回复2楼:

我不是问如何在SQL里面进行查询,我是说在C#开发中,一个connectionstring只能指定一个数据库,一个sqlcommand只能对应一个connectionstring,也就是一个sqlcommand只能操作一个数据库表。

#5

5分

如果connectionstring中的用户有查看B库的权限,sql中加上[B].[架构名默认是dbo].[表名]来访问就可以了
#7

5分

回复1楼:

1楼的的方法是可以的,不过我是用建立进程得到两个数据库中的两个表的查询表,再调用进程

http://blog.sina.com.cn/s/blog_4c79302301000ac0.html

ps:网页中的sqlCom.ExecuteNonQuery(); 我用时改成sqlCmd.ExecuteNonQuery();

如果还想显示表格的话可以用SqlDataAdapter


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明connectstring只能连接一个数据库,如何跨越数据库查询
喜欢 (0)
[1034331897@qq.com]
分享 (0)