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

Материал из Oktell
Перейти к: навигация, поиск
(Новая страница: «'''Цель: импортировать данные из текстовых файлов в БД.''' В качестве исходных данных исполь...»)
 
Строка 64: Строка 64:
  
 
[http://wiki.oktell.ru/%D0%A4%D0%B0%D0%B9%D0%BB:Parse_ross_light.oscr 1.Служебный сценарий "Обработка каждого тега в файле"]<br>
 
[http://wiki.oktell.ru/%D0%A4%D0%B0%D0%B9%D0%BB:Parse_ross_light.oscr 1.Служебный сценарий "Обработка каждого тега в файле"]<br>
[http://wiki.oktell.ru/%D0%A4%D0%B0%D0%B9%D0%BB:Parse_ross_middle.oscr 2.Служебный сценарий "Обработка исходных данных построчно"]<br>
+
[http://wiki.oktell.ru/images/f/f6/Parse_ross_middle.oscr 2.Служебный сценарий "Обработка исходных данных построчно"]<br>
[http://wiki.oktell.ru/%D0%A4%D0%B0%D0%B9%D0%BB:Parse_ross_heavy.oscr 3.Служебный сценарий "Обработка сразу всего файла"]<br>
+
[http://wiki.oktell.ru/images/4/44/Parse_ross_heavy.oscr 3.Служебный сценарий "Обработка сразу всего файла"]<br>

Версия 07:03, 26 августа 2013

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

В качестве исходных данных используем базы номеров с сайта: 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 запроса добавляем строку в БД.

Parse light.jpg

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

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


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

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

Parse middle.jpg

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

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

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

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

Parse heavy.jpg

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

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

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