Пример #1
0
        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;
            }
        }
Пример #2
0
            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);
            }
Пример #3
0
            public static string GetConnectionString(string name, bool needDecrypt = true, ConnectionStringConfigType configType = ConnectionStringConfigType.DatabaseListFile)
            {
                string dbType;

                return(GetConnectionString(name, out dbType, needDecrypt, configType));
            }