Добавление выписки из Российского плана нумерации Россвязь в базу MSSQL
Цель: импортировать данные из текстовых файлов в БД.
В качестве исходных данных используем базы номеров с сайта: 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.12.2012.
1.Обработка каждого тега в файле:
Происходит подсчет определенного тега в файле в котором находятся необходимые данные. Далее содержимое каждого из них записываем в переменную. После этого с помощью SQL запроса добавляем строку в БД.
Цикл продолжается до тех пор, пока не будут пройдены все теги. Затем в качестве уведомлений выведено время работы сценария.
Плюсы: -Простота реализации Минусы: -Большое время выполнения
2. Обработка исходных данных построчно.
Обработка файла происходит построчно. Получаем одну строку из файла и затем обрабатываем каждый тег, который она содержит:
Выполнение так же происходит в цикле, при этом обработанную строку удаляем, затем повторяем операции. За счет того, что «Парсер» выполняется только для обработки одной небольшой строки, время выполнения сокращается.
Плюсы: -значительное ускорение выполнения -простота реализации -возможность выгрузки данных удобным способом(Файл,БД) Минусы: замечаний в процессе тестирования не обнаружено
3. Обработка сразу всего файла
Зная структуру документа, можно обработать его используя операции со строковыми переменными, что позволяет отправить на запись в БД сразу же один запрос, не используя цикл:
Вместо запроса можно произвести операцию записи в файл, но тогда требуется задание пользовательского форматирования. Что усложняет работу нежели во втором сценарии.
Плюсы: -Сверхбыстрое выполнение сценария -Компактность сценария(малое кол-во элементов) Минусы: -Незначительное усложнение в составлении запросов
1.Служебный сценарий "Обработка каждого тега в файле"
2.Служебный сценарий "Обработка исходных данных построчно"
3.Служебный сценарий "Обработка сразу всего файла"