/// <summary> /// Отправка в сообщения в лексему /// </summary> ///<param name="str">Сообщение</param> ///<param name="ex">Ошибка для отправки</param> ///<returns></returns> public void WLogLexema(string str, Exception ex) { try { Autorization auto = new Autorization(); auto.CreatConnectionString("MessConnection"); auto.ConnectionServer(); str = str + ex; string query = " INSERT INTO dbo.Messages( ToUser, ToHost, FromUser, FromHost, ReadFlag, bdate, edate, Text) " + " select ac.USERNAME, '', USER, HOST_NAME(), 0, getdate(), DATEADD(dd, 2, getdate()), '" + str + "' " + " from Access_ACT a " + " inner join Access_ACTSPECS ac ON a.VCODE = ac.PCODE " + " where a.TASK = 'Склад' " + " and a.TDOCDOC = 'adm' " + " and a.ANALITIKA = '02' "; ProcessingTable messLex = new ProcessingTable(); messLex.SetConnection(auto.GetObjectConnection()); messLex.ExecutCommand(query); auto.CloseConnectionServer(); } catch (Exception exLex) { WLog("Не удалось отправить в лексему" + exLex + "\n Получена:", ex); } }
static void Main(string[] args) { DateTime bWorked = DateTime.Now; DateTime eWorked; Log log = new Log(); //Поделючаемся к 1 серверу, для получения данных Autorization serverFirst = new Autorization(); try { serverFirst.CreatConnectionString("FConnection"); //FConnection - ключ в App.config строки подключения log.WLog("Создание строки к серверу 1 - успешно", null); serverFirst.ConnectionServer(); log.WLog("Подключение к серверу 1 - успешно", null); } catch (Exception ex) { log.WLogLexema("Ошибка - Подключение к серверу 1 - Проверьте правильность строки подключения - Подробнее см.лог фаил", null); log.WLog("Ошибка - Подключения к серверу 1 - ", ex); log.CloseWlog(); Environment.Exit(1); } DataTable dt = new DataTable(); try { //Получаем объект подключения, для обработки данных ProcessingTable getTd = new ProcessingTable(); //Класс для работы с SQL getTd.SetConnection(serverFirst.GetObjectConnection()); log.WLog("Объект подключения к серверу 1 - успешно", null); //Получаем с помощью запроса( запрос в конфигурационном файле - ключ query) данные и формируем их DataTable dt = new DataTable(); dt = getTd.GetDateTable(ConfigurationManager.AppSettings.Get("query")); log.WLog("Таблица с сервера 1 получена - успешно", null); //Закрываем подключение serverFirst.CloseConnectionServer(); } catch (Exception ex) { log.WLogLexema("Ошибка - Получение таблицы с сервера 1 - Подробнее см.лог фаил", null); log.WLog("Ошибка - Получение таблицы с сервера - ", ex); log.CloseWlog(); Environment.Exit(1); } //Подключаемся ко 2 серверу, для переноса данных Autorization serverSecond = new Autorization(); try { serverSecond.CreatConnectionString("SConnection"); //SConnection - ключ в App.config строки подключения serverSecond.ConnectionServer(); log.WLog("Подключение к серверу 2 - успешно", null); } catch (Exception ex) { log.WLogLexema("Ошибка - Подключение к серверу 2 - Проверьте правильность строки подключения - Подробнее см.лог фаил", null); log.WLog("Ошибка - Подключения к серверу 2 - ", ex); log.CloseWlog(); Environment.Exit(1); } try { //Получаем обьект подключения ProcessingTable pTable = new ProcessingTable(); //Класс для работы с SQL pTable.SetConnection(serverSecond.GetObjectConnection()); log.WLog("Объект подключения к серверу 2 - успешно", null); //Вставляем таблицу в базу данных прописанную в SConnection (См.config) в таблицу NameInInsertTable - ключ к имени таблицы в App.config pTable.InsertDataTable(dt); log.WLog("Вставка на сервер 2 - успешно", null); //Закрываем подключение serverSecond.CloseConnectionServer(); } catch (Exception ex) { log.WLogLexema("Ошибка - Вставка таблицы на сервер 2 - Подробнее см.лог фаил", null); log.WLog("Ошибка - Вставка таблицы на сервер 2 - ", ex); log.CloseWlog(); Environment.Exit(1); } eWorked = DateTime.Now; if (Convert.ToInt32(ConfigurationManager.AppSettings.Get("SendSuccessWorked")) == 1) { log.WLogLexema(log.Success(bWorked, eWorked), null); } log.WLog(log.Success(bWorked, eWorked), null); log.CloseWlog(); System.Environment.Exit(0); }