Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从多个数据库中选择记录_C#_Sql_Sql Server_Sql Server 2008 R2 - Fatal编程技术网

C# 从多个数据库中选择记录

C# 从多个数据库中选择记录,c#,sql,sql-server,sql-server-2008-r2,C#,Sql,Sql Server,Sql Server 2008 R2,我正在使用Microsoft SQL Server 2008 R2和asp.net for C 目前我正在做一个内部网。它由内部网中的许多模块组成。每个模块使用自己的数据库。通常我会使用连接字符串来调用数据库 我计划做一个主页来管理每个模块中所有挂起的任务。意味着在主页上,我将显示所有模块的所有未决任务。由于它们都使用不同的连接字符串,可以使用什么方法来实现这一点 下面的示例显示如何通过单个连接字符串访问数据库: string connectionString = ConfigurationMa

我正在使用Microsoft SQL Server 2008 R2和asp.net for C

目前我正在做一个内部网。它由内部网中的许多模块组成。每个模块使用自己的数据库。通常我会使用连接字符串来调用数据库

我计划做一个主页来管理每个模块中所有挂起的任务。意味着在主页上,我将显示所有模块的所有未决任务。由于它们都使用不同的连接字符串,可以使用什么方法来实现这一点

下面的示例显示如何通过单个连接字符串访问数据库:

string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;

string strsql = " select * from User "; 

SqlConnection con = new SqlConnection(connectionString);
SqlDataAdapter da = new SqlDataAdapter(strsql, connectionString);

con.Open();
DataSet ds = new DataSet();
da.Fill(ds);
con.Close();
con.Dispose();

创建一个proc,您可以在其中使用各自的数据库名调用不同数据库的表

create proc proc_name
as begin
 select * from [DB_name1].dbo.tablename
 union all
 select * from [DB_name2].dbo.tablename
end
现在从代码后面调用proc

无论连接字符串中的db名称是什么,您仍然可以访问


注意:检查您的数据库是否具有访问其他数据库的权限。

您可以不在ConnectionString中定义初始目录,而在CommandString中对特定数据库进行如下查询:从[your_database].[dbo].[User]中选择*。如果您有不同的数据库,您有两个选项:创建一个链接的服务器并将它们连接到其中一个数据库上的存储过程中,或者逐个从代码中的两个数据库获取数据。