从多个数据库中选择记录

本文关键字:选择 记录 数据库 | 更新日期: 2023-09-27 18:06:16

我用的是Microsoft SQL Server 2008 R2, c#用的是asp.net。

目前我正在做一个内部网。它由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();

从多个数据库中选择记录

创建一个进程,在这个进程中,你可以用不同的Db名调用不同数据库的表。

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

现在从后面的代码调用该过程。

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

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