Задача SSIS XML с циклом For Each - PullRequest
1 голос
/ 29 сентября 2010

Я преобразовал файл XML

См. Этот вопрос для полного описания

Что я хочу знать, так это выполнить задачу xml и предварительно выполнить ее в цикле For Each Loop. Я хочу, чтобы все XML-файлы в определенном каталоге были преобразованы и полученный файл был перемещен в отдельный каталог.

Это не работает. Я получаю следующие сообщения об ошибках:

Error: 0xC002F304 at XML Task, XML Task: An error occurred with the following error message: "Data at the root level is invalid. Line 1, position 1.".
Error: 0xC002928F at XML Task, XML Task: Property "New Source" has no source Xml text; Xml Text is either invalid, null or empty string.

Можете ли вы выполнить преобразование xml внутри каждого цикла?

Ответы [ 2 ]

4 голосов
/ 01 октября 2010

Проблема в том, что Задача XML ожидала, что переменная будет содержать данные XML, которые я пытался преобразовать. Фактически переменная содержала имя файла и путь, указывающий на данные XML.

Мой коллега показал мне исправление.

Внутри задачи XML выберите SourceType = Подключение к файлу.

Затем установите источник так, чтобы он указывал на ваш файл.

Вот трюк. Внизу вы увидите Connection Manager, а внутри будет имя файла, на который вы указали свою задачу XML. Нажмите на имя файла (внутри диспетчера подключений) и обратите внимание, что откроется окно свойств.

Измените ConnectionString на любое строковое значение (я использовал "placeholder").

Нажмите на знак плюс рядом с выражениями и добавьте строку подключения, например: @ [User :: FileName]

В этом случае FileName - это переменная Package, которая содержит путь к файлу xml.

2 голосов
/ 29 сентября 2010

Вы должны быть в состоянии выполнить задачу XML в цикле Foreach. Кажется, что сообщения об ошибках указывают, что у задачи XML есть проблема с исходным файлом. Возможно, вам нужно посмотреть, как имена файлов из цикла Foreach применяются к соответствующему свойству в задаче XML. Конечно, вы должны убедиться, что цикл по каждому элементу захватывает правильный список файлов.

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