private static ConnectionStringElement GetConfiguration(string name) { ConnectionManagerConfigurationSection section = ConnectionManagerConfigurationSection.GetConfig(); ConnectionStringConfigurationElement configElement = section.ConnectionStrings[name]; ConnectionStringElement element = null; // 本地配置文件的连接串采用优先级高于Meta库中的 if (configElement != null) { element = new ConnectionStringElement(); element.ConnectionString = configElement.ConnectionString; element.ProviderName = configElement.ProviderName; element.EventArgsType = configElement.EventArgs.Type; element.Name = configElement.Name; element.CommandTimeout = configElement.CommandTimeout; } //else //{ // // 备选通道是从Meta库获取 // MetaConnectionStringConfigurationElement metaElement = section.MetaConnectionString; // if (metaElement != null) // element = metaElement.GetConnectionStringElement(name); //} return(element); }
/// <summary> /// 获取指定连接的Database对象 /// </summary> /// <param name="name">数据库逻辑名称</param> /// <returns>连接的Database对象</returns> internal static Database GetDataProvider(string name) { string providerName = GetDbProviderName(name); ConnectionManagerConfigurationSection section = ConnectionManagerConfigurationSection.GetConfig(); DataProviderConfigurationElement configProvider = section.DataProviders[providerName]; //沈峥添加(2008-08-26),检查dataProvider配置是否正确 ExceptionHelper.FalseThrow <ConfigurationException>(configProvider != null, Resource.CanNotFindProviderName, name, providerName); return((Database)configProvider.CreateInstance(name)); }