Как построить базу данных из схемы XSD и импортировать данные XML - PullRequest
6 голосов
/ 13 апреля 2010

У меня сложная схема XSD и сотни XML-файлов, соответствующих этой схеме.

Как автоматизировать создание связанных таблиц SQL Server для хранения данных XML?

Я рассмотрел возможность создания классов C # из схемы XSD с помощью инструмента xsd.exe и позволил чему-то вроде Subsonic выяснить, как сделать из него блестящую базу данных, но не уверен, что она лучшая способ подойти к нему.

Кому-нибудь удалось элегантно импортировать файлы XSD в SQL Server?

Аналогичный вопрос с хорошими ответами: Как создать таблицы базы данных из файлов XSD?

Ответы [ 2 ]

10 голосов
/ 13 апреля 2010

Я предлагаю вам использовать службы интеграции SQL Server, которые поставляются с SQL Server 2008 или 2005 (или службы преобразования данных, если вы застряли с 2000).

К сожалению, он не поставляется с бесплатной «экспресс-» версией SQL Server, однако выпуск SQL Server Developer можно приобрести за <100 долларов США, который обладает полной функциональностью SQL Server Standard и удовлетворит ваши потребности. </p>

SSIS - большая тема, и я не собираюсь останавливаться здесь на всех наворотах, но в основном на вас:

  • Создание нового проекта SSIS с использованием BIDS (Business Intelligence Development Studio, модифицированной Visual Studio, поставляемой с SSIS)
  • Перетащите новую задачу потока данных на поверхность потока управления, затем щелкните вкладку потока данных.
  • Перетащите «источник XML» из панели инструментов на панель потока данных, а затем настройте расположение файлов XSD и XML.
  • Перетащите место назначения данных ADO.NET из панели инструментов в поток данных и подключите один из выходов из источника XML к входу места назначения ADO.NET. Если вы хотите создать новую таблицу на основе данных, выводимых из схемы xml, а не использовать существующий в одно нажатие кнопку «Создать» при указании настроек диспетчера подключений в пункте назначения ADO.NET, а затем создать и выполнить соответствующую таблицу создания. заявление. Повторите это для любых других выходных данных из источника XML (будет один для каждой логической плоской таблицы, сгенерированной из схемы).

Скорее всего, вам сначала понадобится использовать другие объекты преобразования данных для преобразования данных перед их загрузкой на сервер SQL, но это основная суть. Если вам нужно запустить процесс для большого количества XML-файлов, вы можете поместить задачу в цикл управления и использовать переменную для задания местоположения XML-файла.

Документация MS по использованию источника XML в SSIS находится здесь: http://msdn.microsoft.com/en-us/library/ms140277(v=SQL.100).aspx

5 голосов
/ 14 апреля 2010

Только что найдено XSD2DB на Sourceforge , согласно сайту:

XSD2DB - это инструмент командной строки, написанный в C #, который будет читать Microsoft Файл схемы DataSet, совместимый с ADO.NET (XSD) и создать базу данных.

Проверка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...