예제 #1
0
파일: Database.cs 프로젝트: ilahsa/bai_pro
        internal Database(IICDbType dbType, string connectionString)
        {
            _configItem                  = new IICDbConfigItem();
            _configItem.DbType           = dbType;
            _configItem.ConnectionString = connectionString;

            _tracing      = TracingManager.GetTracing("Database.[ConnStr=" + connectionString + "]");
            _perfCounters = IICPerformanceCounterFactory.GetCounters <DatabasePerfCounters>(".");

            switch (_configItem.DbType)
            {
            case IICDbType.SqlServer2005:
                _operation = new SqlServerDatabase(_configItem.ConnectionString, 120);
                break;

            case IICDbType.Mysql:
                _operation = new MysqlDatabase(_configItem.ConnectionString, 120);
                break;

            case IICDbType.MysqlBatchInsert:
                _operation = new MysqlBatchInsert(_configItem.ConnectionString);
                break;

            default:
                throw new NotSupportedException(string.Format("Not Support DbType:{0} {1}", _configItem.DbType, _configItem.Name));
            }
        }
예제 #2
0
파일: Database.cs 프로젝트: ilahsa/bai_pro
        internal Database(string configKey)
        {
            _configKey    = configKey;
            _tracing      = TracingManager.GetTracing("Database." + configKey);
            _perfCounters = IICPerformanceCounterFactory.GetCounters <DatabasePerfCounters>(configKey);

            try {
                GetInnerOperation();
            } catch (Exception ex) {
                SystemLog.Error(LogEventID.DatabaseFailed, ex, "Database GetFailed <{0}>", configKey);
            }
        }