public bool CreateTable(out Dictionary <string, Exception> errordic) { errordic = new Dictionary <string, Exception>(); Dictionary <string, string> configDic = new Dictionary <string, string>(); List <tb_database_config_model> databaseList = new List <tb_database_config_model>(); tb_database_config_dal databaseDal = new tb_database_config_dal(); DateTime dateNow = new DateTime(); using (DbConn PubConn = DbConfig.CreateConn(XXFConfig.MonitorPlatformConnectionString)) { PubConn.Open(); dateNow = PubConn.GetServerDate(); configDic = new tb_keyvalue_config_dal().GetAll(PubConn); databaseList = databaseDal.GetModelList(PubConn); } if (configDic.Count > 0) { if (databaseList.Count > 0) { string dayTableSuffix = dateNow.ToString("yyyyMMdd"); string dayTableSuffixNext = dateNow.AddDays(1).ToString("yyyyMMdd"); string monthTableSuffix = dateNow.ToString("yyyyMM"); string monthTableSuffixNext = dateNow.AddMonths(1).ToString("yyyyMM"); foreach (tb_database_config_model m in databaseList) { string Connection = databaseDal.ReplaceConnectStringTemplate(m); using (DbConn PubConn = DbConfig.CreateConn(Connection)) { PubConn.Open(); try { if (m.dbtype == (int)DataBaseType.Cluster) { CreateDayTable(PubConn, "tb_performance_collect", configDic["CreatePerCollectTable"], dayTableSuffix, dayTableSuffixNext); } if (m.dbtype == (int)DataBaseType.Timewatch) { CreateDayTable(PubConn, "tb_timewatchlog_api", configDic["CreateTimeWatchApiLogTable"], dayTableSuffix, dayTableSuffixNext); CreateDayTable(PubConn, "tb_timewatchlog", configDic["CreateTimeWatchLogTable"], dayTableSuffix, dayTableSuffixNext); } if (m.dbtype == (int)DataBaseType.UnityLog) { CreateMonthTable(PubConn, "tb_error_log", configDic["CreateErrorLogTable"], monthTableSuffix, monthTableSuffixNext); CreateMonthTable(PubConn, "tb_log", configDic["CreateLogTable"], monthTableSuffix, monthTableSuffixNext); } } catch (Exception ex) { errordic.Add("创建表失败|连接" + Connection, ex); } } } } return(true); } else { return(false); } }