Событие SSIS OnPostExecute: как увидеть результат выполнения? - PullRequest
0 голосов
/ 13 февраля 2019

Я записываю активность задачи SQL в свою собственную таблицу, используя OnPreExecute и OnPostExecute, которая работает нормально.Вот код OnPreExecute:

declare @audit_key int = ?
declare @package_name varchar(100) = ?
declare @task_name varchar(100) = ?

insert into fct.audit_avetmiss_detail
           (audit_key
           ,package_name
           ,task_name
           ,processing_start
, running_flag
)
select @audit_key, @package_name, @task_name, getdate(),1

.. и OnPostExecute

declare @audit_key int = ?
declare @package_name varchar(100) = ?
declare @task_name varchar(100) = ?
declare @rows_source int = ?
declare @rows_inserted int = ?
declare @rows_discarded int = ?
declare @rows_updated int = ?

update fct.audit_avetmiss_detail
set Processing_end= getdate()
, running_flag = 0
, rows_source = @rows_source 
, rows_inserted = @rows_inserted 
, rows_discarded = @rows_discarded
, rows_updated = @rows_updated
where audit_key=@audit_key 
 and Package_name=@package_name 
 and Task_name=@task_name 

Как получить доступ к результату выполнения «Success» или «Failure» в OnPostExecute?

1 Ответ

0 голосов
/ 13 февраля 2019

В общем случае для получения результата выполнения и возникновения ошибки (если существует) необходимо использовать системные переменные, но на основании официальной документации OnPostExecute обработчик событий не имеет доступа к системным переменным, которые возвращают результат выполнения илиОписание ошибки.

@ [System :: ExecutionStatus]: обработчик события OnExecStatusChanged

@ [System :: ErrorCode]: обработчик события OnError

Возможно, вам следует войти в системуошибка, когда они произошли OnError обработчик события, тогда вы будете считать, что пакет не удалось.И не используйте OnPostExecute для регистрации пакета успешно.Вместо этого добавьте Execute SQL Task в конце потока управления пакетами.Затем, если все компоненты успешны, он будет выполнен и проверяет успешность пакета.

Для получения дополнительной информации см. Следующую документацию:

...