您的位置:首页 > 数据库

将数据库的链接字符串分离到web.config之外的的database.config文件中

2008-07-17 15:18 381 查看
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

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息