Я пытаюсь использовать SSIS для извлечения XML-представления набора результатов запроса в текстовый файл. Мой запрос в настоящее время успешно извлекает точный вывод XML, который мне нужен, когда я запускаю его в SSMS. Я испробовал каждый трюк, который смог найти, чтобы использовать этот набор результатов в пакете служб SSIS для создания файла.
Использование потока данных для переноса источника OLE в плоский файл не работает, поскольку вывод XML-запроса обрабатывается как TEXT, а SSIS не может отправить TEXT, NTEXT или IMAGE в место назначения файла.
Затем я попытался выполнить задачу SQL, чтобы заполнить пользовательскую переменную, а затем использовать задачу сценария (написанную с использованием C #), чтобы записать содержимое этой пользовательской переменной в выходной файл, но пользовательская переменная всегда пуста. Я не знаю, но я подозреваю, что это опять же, потому что XML обрабатывается как TEXT или IMAGE, а пользовательская переменная не обрабатывает это.
Запрос в этой форме:
ВЫБРАТЬ *
FROM dataTable
ГДЕ dataTable.FIELD = 'Значение'
FOR XML AUTO, ROOT ('RootVal')
Полученный набор данных представляет собой правильно сформированный XML, но я не могу понять, как получить его из набора результатов в файл.
Для меня довольно легко написать консольное приложение, чтобы сделать это в C # 4.0, но ограничения требуют от меня хотя бы доказать, что это НЕ МОЖЕТ быть сделано с помощью SSIS, прежде чем я напишу консольное приложение и планировщик. *