首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

通过web.config可配置多个数据库连接

Posted on 2009-09-15 11:03  唐糖  阅读(2118)  评论(3编辑  收藏  举报

最近利用asp.net+c#做一个公司的在途库管理项目,已接近尾声。项目中涉及到6个数据库,这个项目集团公司做的,集团公司下设好几个分公司,每个分公司都有独立运营的数据库服务器,而且不在一起,但这个项目是个B/S的架构,要求所有分公司必须在同一平台上操作,每个人登录时,选择数据源,比如A公司,进入后只能对A公司的数据进行操作。其它公司的人员登录页一样,必须选择合适的数据源。这无疑增加了一定的难度。

如何配置和管理这些数据库连接?后经思考,还是很好的解决了这些问题:
首先在web.config文件中配置这些数据库连接(比如四个公司的数据库连接)
    <appSettings>
    <add key="ConnectionString" value="Data Source=(local);Database=data;Uid=sa;PWD=123" />
    <add key="ConnectionString1" value="Data Source=192.168.1.1;Database=data1;Uid=sa;PWD=123" />
    <add key="ConnectionString2" value="Data Source=192.168.1.2;Database=data2;Uid=sa;PWD=123" />
    <add key="ConnectionString3" value="Data Source=192.168.1.3;Database=data3;Uid=sa;PWD=123" />
  </appSettings>

登录时,利用session记录下所选的公司数据源
数据库连接语句:
SqlConnection sqlconn=null;
 if(Session["data"]=="01")
           sqlconn = new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"]);
            else if(Session["data"]=="02")
            sqlconn = new SqlConnection(ConfigurationManager.AppSettings["ConnectionString1"]);
else if(Session["data"]=="03")
            sqlconn = new SqlConnection(ConfigurationManager.AppSettings["ConnectionString2"]);
else if(Session["data"]=="04")
            sqlconn = new SqlConnection(ConfigurationManager.AppSettings["ConnectionString3"]);