Заказ закрыт
Загрузчик данных по сценарию

Бюджет: 5 000 руб
65.44 $ – 57.24 €
Заказчик выбрал исполнителя:
Андрей Прокофьев  
Требуется написать загрузчик данных из нескольких ODBC-источников в приемник (MSSQL) согласно сценарию.
Требования к используемым технологиям:
- .Net Framework 4.5
- ADO.NET
- MS SQL Server
- Для работы с приемником использовать SqlConnection, SqlCommand, SqlTableAdapter
- Для работы с источниками использовать OleDbConnection, OleDbCommand, OleDbTableAdapter

Загрузчик должен представлять собой консольное приложение, запускаемое из командной строки.
В папке с загрузчиком будет находиться xml-файл scenario.xml с описанием сценария загрузки. Файл прикреплен к задаче

Ниже описан пошагово алгоритм работы загрузчика:
1. Из секции destination взять строку соединения с приемником connectionString. Далее она будет использоваться везде при соединении с приемником.

2. Последовательно из секции tables перебираем все подсекции table. Для каждой table делаем следующие шаги:

3. Берем имя таблицы из атрибута Name и посылаем запрос 'truncate Name' в приемник (например, 'truncate table Odbc1_calls')

4. Берем запрос из тега destinationLastRecordQuery и посылаем в приемник, в ответ получаем дату/время

5. Полученную дату/время подставляем в параметр запроса из тега sourceQuery и получаем данные из источника, используя строку конекта sourceConnectionString.
Учтите, что дату/время необходимо подставлять в запрос не путем конкатентации строк, а с помощью передачи параметров в объект класса OleDbCommand

6. Далее формируем текст запроса для вставки строк, полученных из источника, в приемник.
За один запрос может быть вставлено не более чем количество записей, заданное в атрибуте BatchSize.
Будет гарантировано, что в приемнике таблица уже существует и ее структура полностью соответствует структуре таблицы из источника.
Будет гарантировано что в источнике типы полей могут быть только int, DateTime, string

7. При успешном окончании обработки всей секции tables в приемник посылаем запрос из тега postloadQuery
Опубликован 27.04.2020 в 21:27 Последнее изменение: 28.04.2020 в 14:17
Заказ находится в архиве

Выберите способ верификации:

Обновите страницу после прохождения верификации.