using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Web; using System.Data; using System.Data.Common; using Microsoft.Practices.EnterpriseLibrary.Data; using Microsoft.Practices.EnterpriseLibrary.Common.Configuration; using System.Configuration; using System.Collections; using System.Web.Configuration; namespace Library.Static { ////// 各分站数据库调用类 /// public static class PartDataBase { ////// 检查文件 /// /// /// public static bool FileCheck(string path) { return File.Exists(path); } ////// 检查文件 /// /// public static bool FileCheck() { return File.Exists(HttpContext.Current.Server.MapPath("/DataBase.config")); } ////// 读取配置文件 /// /// 物理路径 /// public static Configuration GetConfig(string path) { if (!FileCheck(path)) throw new Exception("配置文件不存在"); ExeConfigurationFileMap map=new ExeConfigurationFileMap(); map.ExeConfigFilename = path; Configuration config = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None); return config; } ////// 读取默认的分站数据库配置文件 /// /// public static Configuration GetConfig() { return GetConfig(HttpContext.Current.Server.MapPath("/DataBase.config")); } ////// 得到链接字符串集合 /// /// /// public static ConnectionStringSettingsCollection GetConnectionCollection(Configuration config) { return config.ConnectionStrings.ConnectionStrings; } ////// 得到默认链接字符串集合 /// /// /// public static ConnectionStringSettingsCollection GetConnectionCollection() { return GetConfig().ConnectionStrings.ConnectionStrings; } ////// 得到AppSettings.Settings集合 /// /// /// public static KeyValueConfigurationCollection GetAppSetings(Configuration config) { return config.AppSettings.Settings; } ////// 得到默认AppSettings.Settings集合 /// /// /// public static KeyValueConfigurationCollection GetAppSetings() { return GetConfig().AppSettings.Settings; } ////// 得到bbs数据库 /// /// private static Database GetDataBase(string name) { string connectString=GetConnectionCollection()[name].ConnectionString; DbProviderFactory factory=GetDbProviderFactory(GetConnectionCollection()[name].ProviderName); GenericDatabase gdb = new GenericDatabase(connectString, factory); return gdb; } ////// 得到BBS数据库,各站通用 /// /// public static Database GetDataBase_BBS() { return GetDataBase("bbs"); } #region 得到数据工厂类实例 ////// 得到数据工厂类实例 /// /// /// public static DbProviderFactory GetDbProviderFactory(string providerName) { return DbProviderFactories.GetFactory(providerName); } #endregion } }
将数据库的链接字符串分离到web.config之外的的database.config文件中
最新推荐文章于 2024-07-26 14:20:58 发布