Импортировать сложный файл XML в сервер SQL

У меня есть около 6000 файлов XML, которые необходимо импортировать в базу данных SQL. Мне нужно найти некоторые поля в этих файлах XML и импортировать их в несколько таблиц. Эти файлы представляют собой файлы InfoPath, сохраненные в виде XML-документов. В каждом файле около 20 полей, которые необходимо разделить на 6 таблиц в соответствующих столбцах. Я проанализировал поля данных и создал таблицы и связь между ними. Теперь нужно начать импорт данных.

Я попытался использовать источник XML в SSIS, но данные слишком сложны для SSIS. Так что источник xml мне не подойдет. Работал над задачей Script, но я не являюсь основным разработчиком C#/VB. Также пытался использовать Bulk Insert; но у меня нет разрешений на массовую вставку. Друг предложил мне использовать XQuery, но я думаю, что XQuery работает для синтаксического анализа, если файл XML находится в таблице (не уверен).

Может кто-нибудь, пожалуйста, скажите мне, как лучше всего начать эту задачу.

Заранее спасибо!

Кумар


person user1530294    schedule 16.07.2012    source источник


Ответы (2)


Я столкнулся с подобным сценарием, и вот подход, который я использовал: 1. создать таблицы для хранения данных xml (со столбцами как тип данных xml) 2. прочитать исходные файлы xml как TEXT и вставить их в эти таблицы 3. использовать XQuery в хранимой процедуре для извлекать данные и заполнять целевые таблицы

Я могу предоставить больше указателей/информации, если вам нужно.

person Pavel Urbančík    schedule 18.07.2012
comment
Спасибо за ответ! Я импортировал все файлы xml в таблицу столбца типа XML. Я попытался с помощью XQuery извлечь поля из этих файлов в столбце xml. но проблема в том, что если я пишу запрос с некоторым путем для получения определенного поля, я не могу применить один и тот же путь для всех файлов, чтобы получить одинаковые поля из-за сложности файлов. Не могли бы вы дать мне несколько указателей .. спасибо! - person user1530294; 28.07.2012

Лучше всего для этого использовать инструмент с открытым исходным кодом — Talend Open Studio.

person AnandPhadke    schedule 27.11.2012