Добавление выписки из Российского плана нумерации Россвязь в базу MSSQL

Материал из Oktell
Перейти к: навигация, поиск

Цель: импортировать данные из текстовых файлов в БД.

В качестве исходных данных используем базы номеров с сайта: http://www.rossvyaz.ru/activity/num_resurs/registerNum/

1)Коды ABC-3х (HTML, 2,6Mb)
2)Коды ABC-4х (HTML, 9,6Mb)
3)Коды ABC-8х (HTML, 4,3Mb)
4)Коды DEF-9х (HTML, 0,7Mb)

По состоянию на 30.11.2012г.

Рассмотрим 3 способа решения задачи:
1) Обработка каждого тега в файле
2) Обработка построчно
3) Обработка сразу всего файла

ВНИМАНИЕ! Необходимая версия Oktell после 25 декабря 2012 Release


1.Обработка каждого тега в файле:

Происходит подсчет определенного тега в файле в котором находятся необходимые данные. Далее содержимое каждого из них записываем в переменную. После этого с помощью SQL запроса добавляем строку в БД.

Parse light.jpg

Цикл продолжается до тех пор, пока не будут пройдены все теги. Затем в качестве уведомлений выведено время работы сценария.

Плюсы:
-Простота реализации
Минусы: 
-Большое время выполнения


2. Обработка исходных данных построчно.

Обработка файла происходит построчно. Получаем одну строку из файла и затем обрабатываем каждый тег, который она содержит:

Parse middle.jpg

Выполнение так же происходит в цикле, при этом обработанную строку удаляем, затем повторяем операции. За счет того, что «Парсер» выполняется только для обработки одной небольшой строки, время выполнения сокращается.

Плюсы:
-значительное ускорение выполнения
-простота реализации
-возможность выгрузки данных удобным способом(Файл,БД)
Минусы:
замечаний в процессе тестирования не обнаружено

3. Обработка сразу всего файла

Зная структуру документа, можно обработать его используя операции со строковыми переменными, что позволяет отправить на запись в БД сразу же один запрос, не используя цикл:

Parse heavy.jpg

Вместо запроса можно произвести операцию записи в файл, но тогда требуется задание пользовательского форматирования. Что усложняет работу нежели во втором сценарии.

Плюсы:
-Сверхбыстрое выполнение сценария
-Компактность сценария(малое кол-во элементов)
Минусы:
-Незначительное усложнение в составлении запросов

1.Служебный сценарий "Обработка каждого тега в файле"
2.Служебный сценарий "Обработка исходных данных построчно"
3.Служебный сценарий "Обработка сразу всего файла"