/// <summary>
        /// 初始化DB连接
        /// </summary>
        public static void Initialize()
        {
            DbBaseProvider dbBaseProvider = null;
            var            er             = ConfigurationManager.ConnectionStrings.GetEnumerator();

            while (er.MoveNext())
            {
                ConnectionStringSettings connSetting = er.Current as ConnectionStringSettings;
                if (connSetting == null)
                {
                    continue;
                }
                var setting = ConnectionSetting.Create(connSetting.Name, connSetting.ProviderName, connSetting.ConnectionString.Trim());
                if (setting.DbLevel == DbLevel.LocalMysql || setting.DbLevel == DbLevel.LocalSql)
                {
                    continue;
                }
                dbBaseProvider = CreateDbProvider(setting);
                try
                {
                    dbBaseProvider.CheckConnect();
                }
                catch (Exception ex)
                {
                    throw new Exception(string.Format("Not connect to the database server \"{0}\" database \"{1}\".", dbBaseProvider.ConnectionSetting.DataSource, dbBaseProvider.ConnectionSetting.DatabaseName), ex);
                }
                dbProviders.TryAdd(connSetting.Name, dbBaseProvider);
            }
        }
        /// <summary>
        /// 初始化DB连接
        /// </summary>
        /// <exception cref="Exception"></exception>
        public static void Initialize()
        {
            var connectionList = ConfigManager.Configger.GetConfig <ConnectionSection>();

            foreach (var section in connectionList)
            {
                var setting = ConnectionSetting.Create(section.Name, section.ProviderName, section.ConnectionString.Trim());
                if (setting.ProviderType == DbProviderType.Unkown)
                {
                    if (setting.DbLevel != DbLevel.LocalMySql && setting.DbLevel != DbLevel.LocalSql)
                    {
                        TraceLog.WriteWarn("Db connection not found provider type, {0} connectionString:{1}", section.Name, setting.ConnectionString);
                    }
                    continue;
                }
                var dbBaseProvider = CreateDbProvider(setting);
                try
                {
                    dbBaseProvider.CheckConnect();
                }
                catch (Exception ex)
                {
                    throw new Exception(string.Format("Not connect to the database server \"{0}\" database \"{1}\".", dbBaseProvider.ConnectionSetting.DataSource, dbBaseProvider.ConnectionSetting.DatabaseName), ex);
                }
                dbProviders.AddOrUpdate(section.Name, dbBaseProvider, (k, oldValue) => dbBaseProvider);
            }
        }
        private static DbBaseProvider CreateDbProvider(ConnectionSetting setting)
        {
            Type type = TryGetProviderType(setting.ProviderTypeName);

            if (type == null)
            {
                type = typeof(SqlDataProvider);
            }
            return(type.CreateInstance <DbBaseProvider>(setting));
        }
Exemple #4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="name"></param>
        /// <param name="providerTypeName"></param>
        /// <param name="connectionString"></param>
        /// <returns></returns>
        public static DbBaseProvider CreateDbProvider(string name, string providerTypeName, string connectionString)
        {
            Type type = TryGetProviderType(providerTypeName);

            if (type == null)
            {
                type = typeof(SqlDataProvider);
            }
            return(type.CreateInstance <DbBaseProvider>(ConnectionSetting.Create(name, providerTypeName, connectionString)));
        }
Exemple #5
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="providerName"></param>
        /// <param name="providerTypeName"></param>
        /// <param name="connectionString"></param>
        /// <returns></returns>
        public static ConnectionSetting Create(string providerName, string providerTypeName, string connectionString)
        {
            string            key = MathUtils.ToHexMd5Hash(providerTypeName + connectionString);
            ConnectionSetting setting;

            if (_settings.TryGetValue(key, out setting))
            {
                return(setting);
            }
            setting        = new ConnectionSetting(providerName, providerTypeName, connectionString);
            key            = MathUtils.ToHexMd5Hash(setting.ProviderTypeName + setting.ConnectionString);
            _settings[key] = setting;
            return(setting);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="DbBaseProvider"/> class.
 /// </summary>
 /// <param name="connectionSetting"></param>
 protected DbBaseProvider(ConnectionSetting connectionSetting)
 {
     this.ConnectionSetting = connectionSetting;
 }
        /// <summary>
        ///
        /// </summary>
        /// <param name="name"></param>
        /// <param name="providerTypeName"></param>
        /// <param name="connectionString"></param>
        /// <returns></returns>
        public static DbBaseProvider CreateDbProvider(string name, string providerTypeName, string connectionString)
        {
            var setting = ConnectionSetting.Create(name, providerTypeName, connectionString);

            return(CreateDbProvider(setting));
        }
 private static DbBaseProvider CreateDbProvider(ConnectionSetting setting)
 {
     Type type = TryGetProviderType(setting.ProviderTypeName) ?? typeof(SqlDataProvider);
     return type.CreateInstance<DbBaseProvider>(setting);
 }
Exemple #9
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="providerName"></param>
 /// <param name="providerTypeName"></param>
 /// <param name="connectionString"></param>
 /// <returns></returns>
 public static ConnectionSetting Create(string providerName, string providerTypeName, string connectionString)
 {
     string key = MathUtils.ToHexMd5Hash(providerTypeName + connectionString);
     ConnectionSetting setting;
     if (_settings.TryGetValue(key, out setting))
     {
         return setting;
     }
     setting = new ConnectionSetting(providerName, providerTypeName, connectionString);
     key = MathUtils.ToHexMd5Hash(setting.ProviderTypeName + setting.ConnectionString);
     _settings[key] = setting;
     return setting;
 }