public void Init(Dictionary <string, string> param) { if (!param.ContainsKey("sql")) { throw new ConfigurationErrorsException("Not config 'sql' for sqlDb emitter."); } if (!param.ContainsKey("connectionStringKey")) { throw new ConfigurationErrorsException("Not config 'connectionStringKey' for sqlDb emitter."); } this.m_ConnStrKey = param["connectionStringKey"]; this.m_Sql = param["sql"]; bool tmp; if (param.ContainsKey("encrypted") && bool.TryParse(param["encrypted"], out tmp)) { m_Encrypted = tmp; } ConnectionStringConfigType c_type; if (param.ContainsKey("connectionStringConfigType") && Enum.TryParse <ConnectionStringConfigType>(param["connectionStringConfigType"], out c_type) && Enum.IsDefined(typeof(ConnectionStringConfigType), c_type)) { m_ConnectionStringConfigType = c_type; } }
public static string GetConnectionString(string name, out string dbType, bool needDecrypt = true, ConnectionStringConfigType configType = ConnectionStringConfigType.DatabaseListFile) { if (configType == ConnectionStringConfigType.AppConfig) { var t = ConfigurationManager.ConnectionStrings[name]; if (t == null) { dbType = null; return(null); } dbType = t.ProviderName; if (needDecrypt) { return(Decrypt(t.ConnectionString)); } return(t.ConnectionString); } DatabaseList dbList = MemoryCache.Default.Get("dataAccess_connstr_list") as DatabaseList; if (dbList == null) { dbList = LoadDatabaseListFile(); var policy = new CacheItemPolicy(); policy.AbsoluteExpiration = new DateTimeOffset(DateTime.Now.AddMinutes(10)); MemoryCache.Default.Set("dataAccess_connstr_list", dbList, policy); } if (dbList != null && dbList.DatabaseInstances != null && dbList.DatabaseInstances.Length > 0) { foreach (var db in dbList.DatabaseInstances) { if (db.Name == name) { dbType = db.Type; if (needDecrypt) { return(Decrypt(db.ConnectionString)); } return(db.ConnectionString); } } } dbType = null; return(null); }
public static string GetConnectionString(string name, bool needDecrypt = true, ConnectionStringConfigType configType = ConnectionStringConfigType.DatabaseListFile) { string dbType; return(GetConnectionString(name, out dbType, needDecrypt, configType)); }