从多个数据库中选择记录

时间:2016-09-09 09:56:23

标签: c# sql sql-server sql-server-2008-r2

我使用的是Microsoft SQL Server 2008 R2和asp.net for C#。

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

我打算做一个主页来管理每个模块中的所有待处理任务。在主页上的意思,我将显示所有模块的所有待处理任务。由于它们都使用不同的连接字符串,可以使用哪些方法来实现这一点?

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

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();

1 个答案:

答案 0 :(得分:0)

创建一个proc,您可以使用相应的Db名称调用不同数据库的表。

create proc proc_name
as begin
 select * from [DB_name1].dbo.tablename
 union all
 select * from [DB_name2].dbo.tablename
end

现在从你的代码中调用proc。

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

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