Как импортировать / экспортировать таблицы SQL Server через файлы XML - PullRequest
0 голосов
/ 18 мая 2019

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

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

Фрагмент одного файла XML, показывающий открытиераздел схемы и пара элементов данных можно найти здесь; пример XML-файла данных

Правильно ли я считаю, что эти файлы являются дампами SQL Server?Если да, то кто экспортируется, а затем импортируется?

1 Ответ

0 голосов
/ 18 мая 2019

Вы можете использовать XML-функциональность SQL Server. Как то так.

Импорт

declare @x xml = N'--your xml here'

; with xmlnamespaces('urn:schemas-microsoft-com:sql:SqlRowSet1' as p)--required as xml has xmlns attribute
--insert mytable
select t.v.value('p:pool_idn[1]','int') pool_idn, --note p: prefix
t.v.value('p:eff_dte[1]','datetime') eff_dte,
t.v.value('p:pool_nam[1]','varchar(50)') pool_nam
--and so on
from @x.nodes('root/p:pool') t(v)

Экспорт

select * from mytable
for xml auto, elements, root, xmlschema('urn:my:schema')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...