private static void RestoreUser(object InData) { UserInfo userInfo = (UserInfo)InData; // Восстанавливаем данные QueryExecOracle q = new QueryExecOracle(); string restore = "update UserBM set offGU=" + userInfo.offGU + ", offText='" + userInfo.offText + "' where idGU=" + userInfo.idGU; q.Execute(restore); }
private void Exec() { count = 1; foreach (TableInfo info in lst) { if (Running) { QueryExecOracle q = new QueryExecOracle(); string delete = info.sqlText[TableInfo.QryType.Clear]; List <string> del = new List <string>(); if (delete.Trim() != "") // Проверка на пустой запрос { if (delete.Contains("{0}")) { for (int i = 0; i < bridges.Count; i++) { del.Add(string.Format(delete, bridges[i].IDBR)); } } else { if (delete.Contains("{1}")) { del.Add(string.Format(delete, "", MainParams.GetParam(MainParams.ParamName.idGu))); } } } // else del.Add(delete); foreach (string s in del) { if (Running) { if (q.Execute(s)) { Loging.Loging.WriteLog("OK: " + s, false, false); } } else { Loging.Loging.WriteLog("Error: " + s, true, true); } } Coordinator.ExecuteDelegateArgs args = new Coordinator.ExecuteDelegateArgs(); args.runningAction = this; args.Name = Name(); args.Maximum = lst.Count;//передавать в args кол-во таблиц и номер текущей (для прогресс бара) args.Pos = count; OnExecute(this, args); count++; } else { break; } } }
public void Exec() { count = 1; foreach (TableInfo info in lst) { string ins = ""; if (Running) { QuerySelectPDA q = new QuerySelectPDA(); QueryExecOracle qu = new QueryExecOracle(); if (!q.Select("select * from " + info.tableName)) { Loging.Loging.WriteLog("Error:select * from " + info.tableName, true, true); } else { Loging.Loging.WriteLog("OK:select * from " + info.tableName, false, false); List <DataRows> dr = q.GetRows(); foreach (DataRows rows in dr) { string temp = ""; ins = "insert into " + info.tableName + "("; foreach (FieldInfo field in info.fields) { ins += field.fieldName + ", "; temp += "'" + rows.FieldByName(field.fieldName).Replace("'", "''") + "', "; } ins = ins.Remove(ins.LastIndexOf(','), 1); temp = temp.Remove(temp.LastIndexOf(','), 1); ins += ") values (" + temp + ")"; if (!qu.Execute(ins)) { Loging.Loging.WriteLog("Error:" + ins, true, true); } else { Loging.Loging.WriteLog("OK:" + ins, false, false); } } } Coordinator.ExecuteDelegateArgs args = new Coordinator.ExecuteDelegateArgs(); args.Maximum = lst.Count;//передавать в args кол-во таблиц и номер текущей (для прогресс бара) args.Pos = count; args.runningAction = this; args.Name = Name(); OnExecute(this, args); count++; } else { break; } } }
public void Exec() { count = 1; foreach (TableInfo info in lst) { if (Running) { QueryExecOracle q = new QueryExecOracle(); string select = info.sqlText[TableInfo.QryType.SelectBM]; List <string> sel = new List <string>(); if (select.Contains("{0}")) { foreach (int i in idBr) { sel.Add(string.Format(select, i)); } } else { sel.Add(string.Format(select, "", MainParams.GetParam(MainParams.ParamName.idGu))); } List <string> ins = new List <string>(); foreach (string s in sel) { ins.Add("insert into BMEXPORT." + info.tableName + " " + s); } foreach (string s in ins) { if (q.Execute(s)) { Loging.Loging.WriteLog("OK: " + s, false, false); } else { Loging.Loging.WriteLog("Error: " + s, true, true); } } Coordinator.ExecuteDelegateArgs args = new Coordinator.ExecuteDelegateArgs(); args.runningAction = this; args.Name = Name(); args.Maximum = lst.Count;//передавать в args кол-во таблиц и номер текущей (для прогресс бара) args.Pos = count; OnExecute(this, args); count++; } else { break; } } }
public override void Run() { /// Алгоритм /// На основании данных таблицы КПК DisTriggers Включать/Выключать (зависит от On) /// тригерра (учитвать порядок - ord) /// - не забыть лог /// - не забыть Running if (Running) { string tr = "select * from DisTriggers order by ord"; string tri = "Alter trigger {0} "; if (On) { tri += "Enable"; } else { tri += "Disable"; } QuerySelectPDA q = new QuerySelectPDA(); QueryExecOracle qu = new QueryExecOracle(); if (!q.Select(tr)) { Loging.Loging.WriteLog("Error: " + tr, true, true); } else { Loging.Loging.WriteLog("OK: " + tr, false, false); } List <DataRows> dr; dr = q.GetRows(); foreach (DataRows rows in dr) { string TrName = rows.FieldByName("triggerName"); if (!qu.Execute(String.Format(tri, TrName))) { Loging.Loging.WriteLog("Error: " + String.Format(tri, TrName), true, true); } else { Loging.Loging.WriteLog("OK: " + String.Format(tri, TrName), false, false); } } } }
public override void Run() { /// это пример использования /// Считали данные из таблицы /// Формируем для каждого изменения соответствующую отмену // заполняем if (Running) { string predsost = "select idGU, offGU, offText from UserBM"; QuerySelectOracle q = new QuerySelectOracle(); QueryExecOracle qe = new QueryExecOracle(); q.Select(predsost); List <DataRows> lst = q.GetRows(); foreach (DataRows rows in lst) { UserInfo userInfo = new UserInfo(); userInfo.idGU = int.Parse(rows.FieldByName("idGU")); userInfo.offGU = int.Parse(rows.FieldByName("offGu")); userInfo.offText = rows.FieldByName("offText"); FinallyStack.Add(RestoreUser, userInfo); } string running = "update UserBM set offGU=1, offText='Идет импорт'"; qe.Execute(running); // Удалять все сеансы кроме SYSTEM string showsessions = "SELECT s.sid,s.serial#,s.osuser,s.program FROM v$session s"; q.Select(showsessions); lst = q.GetRows(); foreach (DataRows rows in lst) { if (rows.FieldByName("osuser") != "SYSTEM") { string kill = "ALTER SYSTEM KILL SESSION '" + rows.FieldByName("sid") + "," + rows.FieldByName("serial#") + "' IMMEDIATE"; qe.Execute(kill); } } //Реконнект DataBaseOracle.Disconnect(); DataBaseOracle.Get(); } }
public void Exec() { count = 1; foreach (TableInfo info in lst) { if (Running) { QueryExecOracle q = new QueryExecOracle(); QueryExecPDA qu = new QueryExecPDA(); if (!q.Execute("delete from BMEXPORT." + info.tableName)) { Loging.Loging.WriteLog("Error:delete from BMEXPORT." + info.tableName, true, true); } else { Loging.Loging.WriteLog("OK:delete from BMEXPORT." + info.tableName, false, false); } if (!qu.Execute("delete from " + info.tableName)) { Loging.Loging.WriteLog("Error:delete from " + info.tableName, true, true); } else { Loging.Loging.WriteLog("OK:delete from " + info.tableName, false, false); } Coordinator.ExecuteDelegateArgs args = new Coordinator.ExecuteDelegateArgs(); args.Maximum = lst.Count;//передавать в args кол-во таблиц и номер текущей (дл¤ прогресс бара) args.Pos = count; args.runningAction = this; args.Name = Name(); OnExecute(this, args); count++; } else { break; } } }