SQL Server: несколько строк XML - PullRequest
2 голосов
/ 31 марта 2019

Я извлек XML-файл и переместить его в SQL Server.Теперь это выглядело так:

enter image description here

Теперь я пытаюсь преобразовать его в тип данных XML.

DECLARE @XML AS XML

SELECT @XML = convert(xml,[Column 0],2) FROM TestExtract

НоЯ получаю эту ошибку

XML parsing: line 1, character 43, unable to switch the encoding

Может быть, я должен поместить все строки в один?тогда преобразовать это?Посоветуйте, пожалуйста, любые варианты.

Спасибо!

1 Ответ

5 голосов
/ 31 марта 2019

Я использовал SSIS, плоский файл в качестве источника и ole db (SQL-сервер) в качестве места назначения

Почему вы не импортировали XML с использованием XML Source вместо источника Flat File?

Если файл XML хорошо структурирован, то вы можете использовать источник XML для импорта данных в SQL Server, в Интернете можно найти множество примеров:

Другой подход

Вы можете напрямую прочитать файл XML с SQL Server с помощью специальных запросов (OPENROWSET):

Текущая ситуация

Прежде всего объедините все строки в одно значение, затем попытайтесь преобразовать значение.

DECLARE @strXML VARCHAR(MAX)
DECLARE @XML AS XML
SET @strXML = ''

SELECT @strXML = @strXML + [Column 0] FROM Testextract
//SELECT @strXML = @strXML + [Column 0] + CHAR(13) + CHAR(10) FROM Testextract    

SET @XML = convert(xml,@strXML,2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...