我使用的是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();
答案 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名称是什么,仍然可以访问
注意:检查您的数据库是否有权访问其他数据库。