Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 загрузка XML в MS SQL используя SSIS  [new]
Стасямба
Member

Откуда:
Сообщений: 6
Ребят нужна ваша помощь, не получается разобраться(((
Пробую загрузить XML (в файле данные одной таблицы ,например author)в MSSQL, которую выполняю в SSIS , схема Задачи потока данных составлена,и работает правильно , тестировал вставляя 1 строчку в таблицу из 1 файла XML, получается 1 XML= 1 строчки в БД , файлов XML у меня тысячи.
Вопрос такой, как правильно настроить , в потоке управления, Контейнер "цикл по каждому элементу" ,в котором выполняется описанная выше задача потока данных, и соответственно Источник XML , чтобы пакет обработал все XML файлы в папке?

PS Пробовал настроить переменную, но не понимаю каким образом тогда в Источнике XML будет создаваться схемы xsd для каждого xml .

К сообщению приложен файл. Размер - 16Kb
24 июл 14, 02:42    [16349598]     Ответить | Цитировать Сообщить модератору
 Re: загрузка XML в MS SQL используя SSIS  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 32173
Стасямба
PS Пробовал настроить переменную, но не понимаю каким образом тогда в Источнике XML будет создаваться схемы xsd для каждого xml .
А у вас для каждого файла своя схема xsd?
24 июл 14, 10:24    [16350166]     Ответить | Цитировать Сообщить модератору
 Re: загрузка XML в MS SQL используя SSIS  [new]
Стасямба
Member

Откуда:
Сообщений: 6
alexeyvg, блин нет, схема на все файлы одинакова... значит можно сгенерить одну схему и ее использовать для всех остальных XML файлов. А как тогда настроить цикл по каждому файлу??
24 июл 14, 15:17    [16352421]     Ответить | Цитировать Сообщить модератору
 Re: загрузка XML в MS SQL используя SSIS  [new]
gang
Member

Откуда:
Сообщений: 1394
Стасямба,

В потоке управления использовать контейнер Foreach Loop Container с Forreach File Enumerator-ом.
Поместить в него ваш ДатаФлоу.
В XML-сорсе использовать режим XML File From Variable.
24 июл 14, 16:06    [16352790]     Ответить | Цитировать Сообщить модератору
 Re: загрузка XML в MS SQL используя SSIS  [new]
Стасямба
Member

Откуда:
Сообщений: 6
gang,так я сделал изначально: создал переменную в теле цикла назвал varFileName,при этом значение переменной я не указывал ведь потом в разделе Коллекция указал конфиг перечеслителя, и сделал сопоставление переменной, - но он у меня все равно не может на определенном шаге цикла считать данные, как мне проследить в каком файле ошибка считывания?
24 июл 14, 16:59    [16353189]     Ответить | Цитировать Сообщить модератору
 Re: загрузка XML в MS SQL используя SSIS  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5144
Стасямба
как мне проследить в каком файле ошибка считывания?
breakpoint поставить
24 июл 14, 17:30    [16353387]     Ответить | Цитировать Сообщить модератору
 Re: загрузка XML в MS SQL используя SSIS  [new]
gang
Member

Откуда:
Сообщений: 1394
Стасямба,

Вообще вариантов много. Добавьте еще один "производный столбец" с именем файла, например. Или просмотр переменной включите в отладке. Он кстати в Execution Resuls не пишет на каком файле спотыкается? Можно еще в потоке управления после DataFlow поставить что-нибудь по красной стрелке (On failure), Event Handler на OnError в DataFlow повесить. Примеры попробуйте посмотреть по циклу и по обработке сбоев.
24 июл 14, 17:39    [16353444]     Ответить | Цитировать Сообщить модератору
 Re: загрузка XML в MS SQL используя SSIS  [new]
Стасямба
Member

Откуда:
Сообщений: 6
спасибо большое! все получилось, спарсены xml ,были с не правильной версией)) поэтому и обрывалось все
24 июл 14, 20:09    [16354207]     Ответить | Цитировать Сообщить модератору
 Re: загрузка XML в MS SQL используя SSIS  [new]
BKV88
Member

Откуда: Москва
Сообщений: 243
Просьба подсказать, как данный пакет запилить в Job?
Создал Job ппочему-то привыполнении возникает ошибка
C:\user\Desktop\LoadXML.dtsx существует


07/25/2014 14:51:35,LoadXML,Error,0,BUDKEVICHK,LoadXML,(Job outcome),,The job failed. The Job was invoked by corp\user. The last step to run was step 1 (LoadXML).,00:00:01,0,0,,,,0
07/25/2014 14:51:35,LoadXML,Error,1,PC,LoadXML,LoadXML,,Executed as corp: corp\система. Программа выполнения пакетов Microsoft (R) SQL Server Version 10.50.4000.0 for 64-bit (C) Корпорация Майкрософт (Microsoft Corporation)<c/> 2010. Все права защищены. Начало: 14:51:35 Не удалось загрузить пакет "C:\users\Desktop\LoadXML.dtsx" из-за ошибки 0xC0014049. Описание: Невозможно найти папку "C:\user\Desktop\LoadXML.dtsx". Источник: Начало: 14:51:35 Готово: 14:51:36 Прошло:0.359 секунд. The package could not be loaded. The step failed.,00:00:01,0,0,,,,0
25 июл 14, 15:03    [16358117]     Ответить | Цитировать Сообщить модератору
 Re: загрузка XML в MS SQL используя SSIS  [new]
gang
Member

Откуда:
Сообщений: 1394
BKV88,

Положите пакет в "нормальную" папку, без "user"-ов и "Desktop"-ов. Проверьте у учетной записи из-под которой запускается джоб права на эту папку. Или сохраните пакет на SQL сервере.
25 июл 14, 15:22    [16358241]     Ответить | Цитировать Сообщить модератору
 Re: загрузка XML в MS SQL используя SSIS  [new]
BKV88
Member

Откуда: Москва
Сообщений: 243
Затупил при настройки.
указал в настройках джоба Package source: File system
до этого было указано Package source: SQL Server
Еще кто подскажет как можно доработать так, чтобы после обработки папка очищалась?
25 июл 14, 15:32    [16358326]     Ответить | Цитировать Сообщить модератору
 Re: загрузка XML в MS SQL используя SSIS  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5144
BKV88,

file system task
25 июл 14, 16:48    [16358871]     Ответить | Цитировать Сообщить модератору
 Re: загрузка XML в MS SQL используя SSIS  [new]
BKV88
Member

Откуда: Москва
Сообщений: 243
Спасибо!
Просьба подсказать хорошую литературу по SSIS на русском?
25 июл 14, 17:14    [16359013]     Ответить | Цитировать Сообщить модератору
 Re: загрузка XML в MS SQL используя SSIS  [new]
Alex_496
Member [заблокирован]

Откуда: https://www.dvbi.ru
Сообщений: 3869
BKV88
Спасибо!
Просьба подсказать хорошую литературу по SSIS на русском?


не литература, но может пригодятся библиотеки
25 июл 14, 21:37    [16359767]     Ответить | Цитировать Сообщить модератору
 Re: загрузка XML в MS SQL используя SSIS  [new]
BKV88
Member

Откуда: Москва
Сообщений: 243
Благодаря [url=]http://stackoverflow.com/questions/6956409/ssis-reading-multiple-xml-files-from-folder[/url]
все легко и просто. главное xsd написать.
Интересует а каким образом допилить, чтобы данные заливались в разные таблицы?
26 июл 14, 12:23    [16360684]     Ответить | Цитировать Сообщить модератору
 Re: загрузка XML в MS SQL используя SSIS  [new]
gang
Member

Откуда:
Сообщений: 1394
BKV88,

На основании чего должно происходить разделение этих данных?
28 июл 14, 14:29    [16366346]     Ответить | Цитировать Сообщить модератору
 Re: загрузка XML в MS SQL используя SSIS  [new]
BKV88
Member

Откуда: Москва
Сообщений: 243
Вообще есть возможность так разделить эти данные или есть какой-то другой метод?
в xml содержатся большая информация будет порядка 100 столбцов
28 июл 14, 14:35    [16366385]     Ответить | Цитировать Сообщить модератору
 Re: загрузка XML в MS SQL используя SSIS  [new]
gang
Member

Откуда:
Сообщений: 1394
BKV88,

Конечно, в SSIS есть специальные компоненты "разделять данные так" и "другой метод". Именно их и нужно использовать, дерзайте.
28 июл 14, 15:09    [16366655]     Ответить | Цитировать Сообщить модератору
 Re: загрузка XML в MS SQL используя SSIS  [new]
BKV88
Member

Откуда: Москва
Сообщений: 243
Как данный компонент называется?
Натолкните так сказать в нужную русло
29 июл 14, 11:48    [16370239]     Ответить | Цитировать Сообщить модератору
 Re: загрузка XML в MS SQL используя SSIS  [new]
o-o
Guest
gang
BKV88,
На основании чего должно происходить разделение этих данных?


BKV88
Вообще есть возможность так разделить эти данные или есть какой-то другой метод?
в xml содержатся большая информация будет порядка 100 столбцов


gang
BKV88,
Конечно, в SSIS есть специальные компоненты "разделять данные так" и "другой метод". Именно их и нужно использовать, дерзайте.


BKV88, ну вы даете
вам намекнули: каков вопрос, таков и ответ.
в смысле, пока не расскажете,
gang
На основании чего должно происходить разделение этих данных?

ответ будет соответствующий
29 июл 14, 12:42    [16370613]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить