在一个asp应用程序中使用2个(或更多)数据库并切换连接字符串

时间:2014-10-26 17:32:34

标签: c# asp.net connection-string multi-database

我有一个ASP应用程序,我想在2(或更多)位置使用它,并且每个都有自己的数据库,现在是否有办法在用户登录时更改连接字符串? 或者无论如何为每个用户更改数据库?

我之前看过这个问题

  

How to setup single-code multiple-database ASP.NET SaaS application

但我无法弄清楚它是如何运作的!

请帮帮我

编辑:

我找到了解决这个问题的方法 我在每个用户的数据库中保存了我的连接字符串,在识别后我会找出该用户的连接字符串,然后将其分配给我的数据源等...

已保存的连接字符串

"Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=DB;Data Source=."

ASP

 <asp:SqlDataSource ID="DataSource" runat="server" ProviderName="System.Data.SqlClient </asp:SqlDataSource>

C#

DataSource.ConnectionString = "Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=DB;Data Source=.";

对于Linq to SQL

DataClasses1DataContext m = new DataClasses1DataContext("Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=DB;Data Source=.");

我希望对有这个问题的其他人有用

1 个答案:

答案 0 :(得分:1)

在多租户SaaS解决方案中,根据用户租赁或帐户,拥有多个连接字符串是很常见的。

您只需要停止在web.config文件中存储连接字符串,并根据您的条件(记录的用户,帐户,租期......)在运行时开始动态构建它们,最好是通过帮助程序类。