Авторизация:
ПРОЕКТЫ ДАННОЙ КАТЕГОРИИ


Все проекты данной категории  -  6


TOP 10 ФРИЛАНСЕРОВ

Разработка баз данных

1Sivis
(19.7)
2Virtson
(9.2)
3Svetozor
(8.0)
4hobl
(6.7)
5grf
(5.0)
6noman
(5.0)
7rzn_zippy
(3.0)
8Asmur
(3.0)
9nikolaich2
(3.0)
10hurricane
(2.0)

Импорт данных из XML-файла в БД Access

Разработка баз данных, Разработка прикладного ПО
Заказчик:
Фотография / Юзерпик
ОффлайнГершевич Михаил (mike1008)

В сервисе: 9 месяцев
Бюджет: Не определен  (Безналичный расчет)
Приём предложений: 09.09.2008 - 16.09.2008
Статистика: Предложения: 11  |  Просмотры: 216 (138 пользователей)
Статус: Закрыт
Техническое задание
По импорту данных из XML-файла в БД Access.

Импорт осуществляется запуском скрипта или с применением XSLT-преобразования (на выбор), по файлам расположенным в определенной директории. Запуск осуществляется вручную.
Функции импорта должны быть реализованы в среде Ассеss (рекомендация) или на любом иной языке, в случае реализации на любой версии VB следует обеспечить передачу исходных текстов.
Импорт осуществляется в существующую БД, структура таблиц не подлежит изменению.

Структура БД. Состав и типы полей приведены в приложении . см прикрепленный файл. Имена полей БД соответствуют элементам структуры в xml файле.


2. Описание структуры XML-файла.

I. Назначение и способы обработки файла CONS*.USR.
Для облегчения сбора информации о комплектах систем, установленных у пользователей (а теперь, и для сведений об актуальности обновления ИБ, входящих в состав этих систем), семейство USR файлов включает в себя USR файл комплекта. Название данного файла - CONS#K_DDDDD_N.USR
где K - код «основной»(см. сноску <*>) системы (одна или две цифры), DDDDD - номер дистрибутива «основной» системы, N - номер компьютера данного дистрибутива.
Рассмотрим применение нового файла CONS*.USR, отражающего состояние всего комплекта. При запуске утилиты UInf3000.EXE в директории, содержащей файлы CONS*.USR, собранные от пользователей, они расшифровываются в файлы CONS*.XML. Далее данные файлы XML импортируются средствами СУБД, на котором написана база пользователей конкретного РИЦ.


II. Рассмотри формат CONS*.XML файла на следующем примере:

Пусть у пользователя установлен комплект из 3-х систем, КонсультантБухгалтер: ВерсияПроф, МоскваПроф, ДеловыеБумаги.
Новые элементы для удобства чтения выделены розовым шрифтом. XML комментарии вида <!-- … -->, помогающие понять пример, в реальном XML файле отсутствуют.


<user_info>
<!-- версия формата USR файла -->
<format_version>2</format_version>
<!-- номер РИЦ -->
<ric>133</ric>
<!-- версия технологического модуля (*.RES файла) сномером сборки-->
<res_version>3000.03.35.5556</res_version>
<!-- аппаратно-программная конфигурация -->
<tech_info>
<!-- версия операционной системы -->
<OS>
<Name>Windows XP Service Pack 1</Name>
<Version


Major="5"


Minor="1"
/>
<Build>2600</Build>
<PlatformID>2</PlatformID>
</OS>
<!—свободное место на диске с ИБ комплекта в мегабайтах-->
<DiskFreeSpace>1124</DiskFreeSpace>
<!—максимум одновременных доступов (OD) пользователей-->
<!—и число уникальных доступов (UD) к комплекту -->
<!—Способ доступа через терминал-сервер -->
<Users
OD="1"
UD="26"
TS="0"
/>
</tech_info>

<!—В секции files приводятся данные о дате и времени создания файлов -->
<!--Для USR файла дополнительно указан способ его формирования <**>-->
<files>
<USR_FILE date="01.08.2007" time="13.14" kind="R" />
<INFO.COD date="11.06.2007" time="07.12" />
<CONSULT.TOR date="11.06.2007" time="23.11" />
</files>

<!-- информация о составе систем, составляющих комплект -->
<!-- пример тега системы: BUH_5, где BUH - название СИСТЕМЫ бухгалтер -->
<!--, 5 - код системы БухгалтерПроф (у усеченного Бухгалтера код другой) -->
<!-- net_count - число сетевых пользователей: 0 1 50 -->
<!-- userType: NCT (ИЦ РИЦ) USR (обычный пользователь) SPC (спецвыпусук) -->
<!-- KKK (серия К) RRR (серия Р) VIP (VIP выпуск) VVV (серия В) -->
<!-- NEK (некоммерческий выпуск) -->
<!-- technolType: технологический признак, зарезервированный на будущее -->
<package>
<PAP_6
distr="64333"
comp="1"
ric="133"
netCount="1"
userType="USR"
technolType=""
/>
<MLAW_19
distr="21343"
comp="4"
ric="133"
netCount="0"
userType="USR"
technolType=""
/>


<BUH_5
distr="61333"
comp="1"
ric="133"
netCount="0"
userType="USR"
technolType=""
/>
</package>

<!-- информация о состоянии ИБ, входящих в состав систем комплекта -->
<ib>
<PAP nDistr= nComp="1"… - Данные по ИБ PAP системы ДБ
</PAP>
<MLAW nDistr=… Данные по ИБ MLAW системы МоскваПроф
</MLAW>

<DOCS nDistr=… - Данные по ИБ DOCS системы КБ
</DOCS>
<QSA nDistr=… - Данные по ИБ QSA системы КБ
</QSA>
<KRS nDistr=… - Данные по ИБ KRS системы КБ
</KRS>
<PBI nDistr=… - Данные по ИБ PBI системы КБ
</PBI>
<PPN nDistr=… - Данные по ИБ PPN системы КБ
</PPN>

</ib>

</user_info>

III. Рассмотрим формат данных по каждому ИБ внутри секции <ib> CONS*.USR.
Он сделан более логичным (то, что ранее дублировалось в "побазовых" USR, перенесено в секцию <files>), и расширен до 10 пополнений.
Рассмотрим его подробно на примере ИБ MLAW:

<MLAW nDistr="21343" nComp="4" directory="MLAW" name="Москва Проф" nCat="35016" nTexts="35016" n3="35016" n4="35016" n5="35016" n6="0" compliance="=HOST">


<updates>


<u1 date="28.09.2007" time="19.09" sysdate="28.09.2007" docs="35016" kind="P" />


<u2 date="16.07.2007" time="21.59" sysdate="16.07.2007" docs="34906" kind="" />


... // здесь данные ещё по 8-ми пополнениям в порядке убывания даты/времени, в виде тегов


<u3>…<u10>


</updates>
</MLAW>


Где:
nDistr - Номер дистрибутива;
nComp - Номер компьютера;
directory - Имя директории с ИБ;
name - Название ИБ

nCat - Количество каталогов;
nTexts - Количество документов с текстом;
n3 - Количество документов в 3-й части;
n4 - Количество документов в 4-й части;
n5 - Количество документов в 5-й части;
n6 - Количество документов в 6-й части;
compliance - Признак соответствия ИБ пользователя ИБ РИЦ (=HOST, #HOST, ?HOST);

updates – секция из 10 обновлений u1…u10 (u1 – последнее обновление, u2 – предпоследнее, и т.д.).

Для каждого обновления пишется по 5 значений:
date - Дата обновления;
time - Время обновления;
sysdate - системная дата при обновлении <***>.
docs - число документов в ИБ (каталоге) на момент обновления
kind – способ обновления. P – пополнением, R – заменой (авторегистрацией) ИБ


IV. Особенности импорта данных из CONS*.USR в БД пользователей РИЦ.
Отметим, что перевод данных в формат XML позволяет более удобно обрабатывать данные и вводить по мере необходимости новые поля. Для импорта в базу данных пользователей РИЦ можно объединить несколько CONS*.XML файлов, полученных от разных пользователей, в один. Для этого следует добавить в начало файла следующую строку, содержащую информацию о кодировке и обрамить все данные корневым тегом:

<?xml version="1.0" encoding="windows-1251"?>
<route>
<user_info>

</user_info>

<user_info>

</user_info>
</route>

Полученный XML можно обрабатывать стандартными XML парсерами, для последующего импорта в базу данных пользователей РИЦ.
В последней редакции CONS*.USR содержит много данных, которые РИЦ могут применять для повышения эффективности своей работы.
Поскольку данных достаточно много, и они разнородные, при импорте имеет смысл разбить их по назначению и направить в разные таблицы, данные их которых анализировать при выполнении различных задач, возникающих в РИЦ. Например:
• Данные из шапки файла и секции <tech_info> - в таблицу общей информации о пользователях (помимо информации технологического плана (например, не старая ли версия Консультанта) содержится полезная информация об интенсивности использования комплекта).
• Данные из секции <files> - в таблицу информации об актуальности системных файлов КонсультантПлюс (информация технологического плана, нет ли сбоев по критическим файлам).
• Данные из секции <package> - в таблицу покомплектного учета установленных у пользователей систем (крайне полезная маркетинговая информация для принятия решений – какие ИБ каким пользователям имеет смысл предложить приобрести дополнительно и т.п.).
• Данные из секции <ib> - в таблицу для контроля работы инженеров по сопровождению по актуализации ИБ у пользователей.
Разные таблицы имеет смысл связать между собой уникальным ключом, в качестве которого удобно взять условный номер комплекта (то, что стоит после # в названии файла CONS*.USR).
Здесь приведены самые общие рекомендации. Поскольку XML формат позволяет гибко адаптировать данные к особенностям конкретной БД по пользователям, любой РИЦ может структурировать информацию так, как ему удобно.


3. Алгоритм обработки файлов.

1. Все usr файлы располагаются в одном каталоге, по мере поступления новых файлов прежние замещаются.
2. Раз в месяц производится импорт файлов расположенных в каталоге в БД,
3. перед началом импорта считать в массив список файлов в каталоге (цель- организовать цикл)
4. внутри цикла считать содержимое элемента массива из элемента массива CONS#K_DDDDD_N.USR вырезать значение DDDDD и сравнить его с содержимым поля Nrec_userinfo таблицы userinfo если такая запись в БД существует заменить ее новыми данными из XML файла согласно значениям тэгов, последовательно заменяя одноименные поля БД значениями одноименных тэгов.
5. если значения нет, произвести добавление записи в БД заполнив подчиненные таблицы значениями одноименных тэгов.


Приложение 2.
Перечень кодов систем:

50 КонсультантПлюс: Эксперт-приложение
1 КонсультантПлюс: Версия Проф
2 КонсультантПлюс: Российское законодательство
19 КонсультантПлюс: Москва Проф
3 КонсультантПлюс: Московский выпуск
4 КонсультантБухгалтер: Вопросы-ответы
77 КонсультантБухгалтер: Вопросы-ответы (усеченный)
5 КонсультантБухгалтер: Версия Проф
40 КонсультантБухгалтер (усеченный)
17 КонсультантФинансист
78 КонсультантФинансист (усеченный)
6 Деловые бумаги
8 КонсультантСудебнаяПрактика: Решения высших судов
7 КонсультантПлюс: Региональный выпуск
13 КонсультантПлюс: Региональный выпуск Базовый
26 ИсходящаяКорреспонденция: Директор
42 ИсходящаяКорреспонденция: Менеджер
12 Средства ведения БД
14 КонсультантПлюс: Московская область
15 КонсультантПлюс: Налоги и бухучет
25 КонсультантПлюс: Санкт-Петербургский выпуск
54 КонсультантПлюс: Регионы
16 КонсультантПлюс: Сводное региональное законодательство
18 КонсультантМедицинаФармацевтика Россия Москва
20 КонсультантМедицинаФармацевтика Россия
21 КонсультантПлюс: Международное право
27 КонсультантПлюс: Законопроекты
29 КонсультантАрбитраж: ФАС Волго-Вятского округа
30 КонсультантАрбитраж: ФАС Восточно-Сибирского округа
31 КонсультантАрбитраж: ФАС Дальневосточного округа
32 КонсультантАрбитраж: ФАС Западно-Сибирского округа
24 КонсультантАрбитраж: ФАС Московского округа
33 КонсультантАрбитраж: ФАС Поволжского округа
34 КонсультантАрбитраж: ФАС Северо-Западного округа
35 КонсультантАрбитраж: ФАС Северо-Кавказского округа
36 КонсультантАрбитраж: ФАС Уральского округа
37 КонсультантАрбитраж: ФАС Центрального округа
43 КонсультантПлюс: Комментарии законодательства
39 КонсультантБухгалтер: Корреспонденция счетов
41 КонсультантПлюс: Документы СССР
44 КонсультантПлюс: Строительство
49 КонсультантАрбитраж: ФАС всех округов
67 КонсультантАрбитраж: Налоговые споры
51 КонсультантСудебнаяПрактика: Суды Москвы и области
52 КонсультантАрбитраж: Санкт-Петербург
53 КонсультантСудебнаяПрактика: Региональный выпуск
69 КонсультантСудебнаяПрактика: Суды Свердловской области
75 КонсультантСудебнаяПрактика: Подборки судебных решений
80 КонсультантАрбитраж: 2 апелляционный суд
74 КонсультантАрбитраж: 13 апелляционный суд
76 КонсультантАрбитраж: 17 апелляционный суд
81 КонсультантАрбитраж: 19 апелляционный суд

[Приложения]

  1. xml.rar  (104.4 Кб)

Предложения фрилансеровRSS-трансляция

Статус:  активные  |  отклоненные
Пользователь / Рейтинг Сумма Сроки Дата публикации
Фотография / Юзерпик
ОффлайнМиняев Руслан (glum)

В сервисе: 5 месяцев
40 USD 3 дня 09.09.2008 в 08:11
Напишу скрипт на VB
Фотография / Юзерпик
ОффлайнБабушкин Евгений (WarL)
(1.2)
В сервисе: 1 год 10 месяцев  |  Отзывы: 1
? - 09.09.2008 в 08:20
Готов сотрудничать.
Опыт работы более 6 лет. Огромный опыт работы с XML
Работаю быстро и качественно.

Если интересно -- пишите, стучите.
ICQ: ***

Скорость и качество!
Фотография / Юзерпик
ОффлайнAlexander (mathter)

В сервисе: 1 год 3 месяца
? - 09.09.2008 в 09:34
Напишу программу импортер на java (как скрипт, так и оконное приложение). Доступ к БД через интерфейс jdbc, что позволит работать с любыми БД, возможно создание инсталлятора. Жду Вашего ответа на сайте.

Работают только простые вещи.
Фотография / Юзерпик
ОффлайнДмитрий Ефимов (dmitriano)

В сервисе: 9 месяцев 2 недели  |  Отзывы: 1
? - 09.09.2008 в 10:41
Напишу на C#

С уважением,
Дмитрий Ефимов
ICQ: ***
Skype: dmitry.efimov
E-mail: winappdev[пёсик]gmail.com
Фотография / Юзерпик
ОффлайнЧелноков Илья (Quasi)

В сервисе: 4 месяца 2 недели
? - 09.09.2008 в 11:16
Сделаю на VB.NET или C#. Качество, надежность, последующее сопровождение кода гарантирую.
icq ***
Фотография / Юзерпик
ОффлайнЧернов Виталий (vr-soft)

В сервисе: 4 месяца
1000 USD 30 дней 10.09.2008 в 09:23
Есть готовый проект на с#.

Talk is cheap. Show me the code. (c) Linus Torwalds

Вы скорбите по тем временам, когда мужчины были настоящими мужчинами и сами писали драйверы устройств?
Фотография / Юзерпик
ОффлайнСкавронская Ирина (Scai)

В сервисе: 1 год  |  Отзывы: 1
200 USD 10 дней 10.09.2008 в 10:07
C#
Фотография / Юзерпик
ОффлайнChistyak Vitaliy (DigiVit)

В сервисе: 4 месяца 1 неделя
300 USD 15 дней 10.09.2008 в 12:00
Есть опыт такого проекта на С#
Фотография / Юзерпик
ОффлайнГоленастов Игорь (ITgor)
(3.2)
В сервисе: 2 года 5 месяцев  |  Отзывы: 3 / 1
1000 USD 20 дней 10.09.2008 в 15:30
Готов реализовать на С#, опыт работы с XML документами есть (реализовывал web-службу для обновления прайса продукции на сайте экспортированным XML из 1С)

Если заинтересует мое предложение, готов обсудить.
Фотография / Юзерпик
ОффлайнВлади Мир (Virtson)
(62.6)
В сервисе: 3 года 1 месяц  |  Отзывы: 26
400 USD 19 дней 14.09.2008 в 07:53
Здравствуйте.
Предлагаю реализацию на Delphi.

С уважением, Владимир М.

http://weblancer.net/users/virtson/portfolio/
Фотография / Юзерпик
ОффлайнАлямкин Владимир (ufna)
В сервисе: 1 год 4 месяца  |  Отзывы: 1 / 1
400 USD 10 дней 15.09.2008 в 22:05
Добрый день!


Предлагаю реализацию как отдельное приложение, С++/Qt.


С уважением,
Владимир