2016-12-20 1 views
-2

мне удалось получить мое приложение, чтобы запустить мой тестовый пакет SSIS, но я хочу, чтобы иметь возможность получить информацию о том, что он вернулся IE Время, затраченное для запуска и т.д.Как выйти из информации пакета SSIS в C#

Вот как я уверен, выполнение пакета:

//EXECUTES THE PACKAGE. 
Microsoft.SqlServer.Dts.Runtime.Wrapper.DTSExecResult pkgResults = pkg.Execute(null,container.Variables, null, null, null); 

The pkgResults только возвращает меня успех или неуспех, а не какой-либо другой соответствующей информации.

Есть ли способ получить журнал для хранения данных в базе данных SQL?

+0

[Документация по протоколу SSIS] (https://msdn.microsoft.com/en-us/library/ms140246.aspx) – stuartd

+0

@stuartd Какая версия для i у меня не имеет методов OnInformation для моего пакета. –

+0

Нажмите раскрывающееся меню под заголовком для разных версий, они вернутся к 2008R2 – stuartd

ответ

0

Бен,

Я предполагаю, что вы хотите знать, сколько времени потребовалось для выполнения всего пакета или задач внутри пакета. Опять же, я рекомендовал бы использовать сборку ManagedDTS, если это возможно (вместо сборки обертки).

Если вы используете сборку ManagedDTS, все объекты хоста контейнера и задачи наследуют свойства StartTime и StopTime от объекта DtsContainer. Таким образом, в ManagedDts сборки вы можете сделать это (asuming упак является объектом пакета в сборке ManagedDTS)

pkg.StartTime - pkg.StopTime 

Если вы хотите, чтобы время выполнения для конкретного исполняемого файла в пакете, вы все еще можете назвать свойства STARTTIME и останова, на этот конкретный исполняемый файл (поскольку он наследует от DtsContainer).

В сборке обертки вещи немного менее просты. Свойства StartTime и StopTime доступны через интерфейс IDTSExecutionMetrics100. Вам нужно будет отдать свой объект пакета (или любой другой задачи/контейнер) для этого интерфейса, а затем получить доступ к свойствам STARTTIME и конечным моментом. (Asuming упак является объектом IDTSPackage100 в сборке обертке)

(pkg as IDTSExecutionMetrics100).StartTime - (pkg as IDTSExecutionMetrics100).StopTime 

И если вы ища продолжительность выполнения определенного исполняемого файла внутри пакета, вы должны получить доступ к этому конкретному исполняемому файлу, передать его в интерфейс IDTSExecutionMetrics100, а затем получить доступ к StartTime и StopTime.

Узел ManagedDTS упрощает эти вещи, и все соответствующие свойства и методы более интуитивно доступны, чем через сборку Wraper.

Смежные вопросы