Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / MS SQL Server, TSQL, загрузить из XML-файла сами данные и засунуть их в таблицы / 5 сообщений из 5, страница 1 из 1
13.03.2018, 18:07
    #39614295
Бобби
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS SQL Server, TSQL, загрузить из XML-файла сами данные и засунуть их в таблицы
Добрый вечер!
У меня есть ряд XML-файлов. Нужно автоматически вытащить из них данные (вложенность обычно от 1-го до 4-х уровней) и разложить по таблицам в SQLServer'е.
Если таблиц нету - то создать их. Если в таблице уже есть какие-то данные - просто добавлять строки.

Никак не могу найти подходящее для такой задачи ПО... Вернее одно нашёл, почти как надо, но оно оказалось условно-платное: Advanced XML Converter
Гадина вроде как конвертирует, и с совсем мелкими огрехами - но только половину данных! Может кто-то знает другую похожую программу? Или есть иной способ?
...
Рейтинг: 0 / 0
13.03.2018, 19:19
    #39614347
?
?
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS SQL Server, TSQL, загрузить из XML-файла сами данные и засунуть их в таблицы
Бобби,

?
...
Рейтинг: 0 / 0
13.03.2018, 22:51
    #39614440
Бобби
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS SQL Server, TSQL, загрузить из XML-файла сами данные и засунуть их в таблицы
Поискал я этот "Data Tools", что-то не вижу такого на наших компах, завтра спрошу у того кто знает точно...
...
Рейтинг: 0 / 0
14.03.2018, 14:43
    #39614779
_____aak__
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS SQL Server, TSQL, загрузить из XML-файла сами данные и засунуть их в таблицы
Мы решаем подобное средствами SQL Server. Связка xp_cmdshell (чтобы получить имена файлов в определенном месте) и OPENROWSET.
Что то типа insert into #file_contents(txt) exec('SELECT * FROM OPENROWSET(BULK '''+@main_dir+'\'+@fName+''', SINGLE_CLOB) as a'). Только автоматизация вызова этой процедуры выполняется нашим ПО, но думаю не составит труда запустить через job.
...
Рейтинг: 0 / 0
25.03.2018, 02:42
    #39620062
Redmond
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS SQL Server, TSQL, загрузить из XML-файла сами данные и засунуть их в таблицы
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
DECLARE @XML XML;
SET @XML = (SELECT * FROM OPENROWSET(BULK 'C:\...\file.xml', SINGLE_CLOB) AS xmlData);
SELECT
	[XML].value('@id', 'INT') AS ID,
	[XML].value('@name', 'NVARCHAR (100)') AS Name,
	[XML].value('@type', 'NVARCHAR (25)') AS Type,
	[XML].value('*[1]', 'NVARCHAR (500)') AS FirstChild,
	[XML].value('@*[5]', 'NVARCHAR (500)') AS FifthAttribute
FROM
	@XML.nodes('/ObjectList/Object') xmlData([XML]);
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / MS SQL Server, TSQL, загрузить из XML-файла сами данные и засунуть их в таблицы / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]