У меня есть таблица со смешанными типами столбцов (int
, varchar
, & xml
). Столбцы varchar
содержат данные в формате XML, а столбец xml
- большой узел данных. Я пытаюсь выбрать все varchar
столбцы с включенным XML, чтобы создать выходной файл XML с помощью шага задания агента SQL. Проблема, с которой я столкнулся, заключается в том, что столбец, определенный как XML, заполняет много пробелов в файле и усекает данные в этом столбце. Таблица выглядит следующим образом:
CREATE TABLE [dbo].[MixedTYPEXML](
[col1] [varchar](4) NOT NULL,
[col2] [int] NOT NULL,
[xmlinText1] [varchar](190) NOT NULL,
[JOBP] [xml] NULL
)
GO
INSERT INTO [dbo].[MixedTypeXML]
([col1]
,[col2]
,[xmlinText1]
,[JOBP]
)
VALUES
('Prod'
,'35490'
,'<JOBP AllowExternal="1" name="JOBP.EXTRACTS_PHP_SSIS_POST_CORE#35490">'
,'<PreCon><conditions id="CONDITIONS" /></PreCon>'
)
GO
Моя инструкция выбора
SELECT col2, xmlinText1, JOBP from dbo.MixedTypeXML
Ожидаемые результаты приведены ниже, но фактическое будет несколько тысяч записей. Я беру только одну запись с небольшим примером данных.
35490 <JOBP AllowExternal="1" name="JOBP.EXTRACTS_PHP_SSIS_POST_CORE#35490"> <PreCon><conditions id="CONDITIONS" /></PreCon>
Это всего лишь подмножество столбцов, которые я пытаюсь извлечь. Мне в основном нужно извлечь все столбцы в таблице, включая столбец, определенный XML, чтобы отправить результаты в выходную таблицу на локальном диске без заполнения пробелов или усечения данных. Выходной файл будет файлом в формате XML. Данные образца столбца JOBP - это просто фрагмент. Фактические данные содержат несколько сотен строк xml
узлов.
Я просмотрел множество сообщений о том, как извлекать узлы и значения, но я не пытаюсь извлекать конкретные данные. Я хочу, чтобы вся таблица создавала выходной XML-файл. Есть идеи, как это сделать?