private void QueryDataToFile() { if (OnDataRequest == null || OnDataDischarge == null) { return; } ThirdDBConnection cfg = SQLOutAdapterConfigMgt.SQLOutAdapterConfig.ThirdPartyInteractConfig.ConnectionParameter; foreach (SQLOutboundChanel ch in SQLOutAdapterConfigMgt.SQLOutAdapterConfig.OutboundChanels) { try { if (!ch.Enable) { continue; } if (ch.OperationType != ThrPartyDBOperationType.Table) { continue; } DataSet dsResult = OnDataRequest((IOutboundRule)ch.Rule, null); int count = PrepareQueryResult(dsResult); if (count < 1) { continue; } // generate file name string fn = RuleControl.GetRandomNumber(); string dataFileFolder = ConfigHelper.GetFullPath(cfg.FileFolder); string csvFileName = string.Format("{0}{1}", fn, cfg.FileNameExtension); string tmpFileName = string.Format("{0}{1}", fn, cfg.TempFileNameExtensin); // create CSV file List <string> idList = new List <string>(); if (!CreateDataFile(ch, tmpFileName)) { continue; } if (!InsertDataFile(ch, tmpFileName, dsResult, idList, count)) { continue; } Program.Log.Write("Creating data file: " + csvFileName); File.Move(Path.Combine(dataFileFolder, tmpFileName), Path.Combine(dataFileFolder, csvFileName)); // delete INI file if (!cfg.KeepSchemaFile) { string schameFilePath = Path.Combine(dataFileFolder, cfg.SchemaFileName); Program.Log.Write("Deleting schema file: " + schameFilePath); File.Delete(schameFilePath); } // create IDX file if (cfg.WriteIndexFile) { string indexFileName = string.Format("{0}.idx", fn); string indexFileFolder = ConfigHelper.GetFullPath(cfg.IndexFileFolder); string indexFilePath = Path.Combine(indexFileFolder, indexFileName); Program.Log.Write("Creating index file: " + indexFilePath); if (!Directory.Exists(indexFileFolder)) { Directory.CreateDirectory(indexFileFolder); } using (StreamWriter sw = File.CreateText(indexFilePath)) { } } OnDataDischarge(idList.ToArray()); } catch (Exception err) { Program.Log.Write(err); } } }
public static string GetPrivateLutName() { return("lut_p_" + RuleControl.GetRandomNumber()); }
public RuleBase() { _ruleID = RuleControl.GetRandomNumber(); }