FOR XML PATH Запрос результатов в файл с SSIS - PullRequest
0 голосов
/ 29 апреля 2010

В SSMS я написал свой запрос для XML-пути, и это прекрасно.

Я поместил его в «Задачу« Выполнение SQL »» в потоке управления, установил результирующий набор в XML.

Теперь, как мне получить результаты в реальном xml-файле, который я могу перевернуть и передать по FTP третьему лицу?

Это должно было быть так просто! Я бы поместил XML в переменную, но мы смотрим на ОГРОМНЫЙ файл, возможно, 100 МБ +

Нужно ли использовать задачу скрипта? (Я хотел бы избежать этого, если есть другой вариант.)

Ответы [ 3 ]

0 голосов
/ 20 мая 2011

Я искал точно такую ​​же проблему (т. Е. Огромное извлечение данных XML из хранимой процедуры и запись с использованием служб SSIS).

Я использовал OLEDB, и он работал, но мучительно медленно. При переключении на адаптер ADO.NET в службах SSIS извлечение XML из SQL Server происходит в 50 раз быстрее. Если вам интересно, я опишу детали.

0 голосов
/ 25 января 2013

Я не совсем понимаю колебания с использованием Задачи сценария, так как весь ваш сценарий (VB.net) может выглядеть так:

Imports System
Imports System.Data
Imports System.Math
Imports Microsoft.SqlServer.Dts.Runtime
Imports System.Data.SqlClient
Imports System.Text
Imports System.IO


Public Sub Main()
 Using Out As StreamWriter = New StreamWriter(<--XML FILE LOCATION-->)
 Out.Write(Dts.Variables("User::Xml").Value.ToString())
 Out.Close()
 End Using
 Dts.TaskResult = Dts.Results.Success
 End Sub

Это почти все, что нужно, если ваш XML правильно сформирован.

0 голосов
/ 29 апреля 2010

Вам потребуется использовать задачу потока данных вместо задачи выполнения SQL, чтобы объединить источник (вызов SQL) и пункт назначения (соединение с простым файлом).

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