IEtlPlainDataBulkConsumer.EventId

Синтаксис Fore

EventId: String;

Синтаксис Fore.NET

EventId: string;

Описание

Свойство EventId определяет идентификатор события, которое будет вызвано при возникновении ошибки выполнения задачи ETL.

Комментарии

Для определения способа обработки ошибок, которые могут возникнуть при загрузке данных, используйте свойство IEtlPlainDataBulkConsumer.ActionOnProblem.

Пример Fore

Для выполнения примера предполагается наличие в репозитории задачи ETL с идентификатором «ETL».

Добавьте ссылки на системные сборки Metabase, Etl.

Sub UserProc;
Var
    MB: IMetabase;
    Etl: IEtlTask;
    Obj: IEtlObject;
    Data: IEtlPlainDataBulkConsumer;
    i: Integer;
Begin
    MB := MetabaseClass.Active;
    Etl := MB.ItemById("ETL").Edit As IEtlTask;
    For i := 0 To Etl.Count - 1 Do
        Obj := Etl.Item(i);
        Data := Obj As IEtlPlainDataBulkConsumer;
        If (Obj Is IEtlPlainDataBulkConsumer) Then
            Data.ActionOnProblem := EtlActionOnProblem.DiscardInvalidRecords;
            Data.SaveInvalidRecs := True;
            Data.InvalidRecsFileName := "Errors";
            Data.CommitCount := 2000;
            Data.UseStopLimit := True;
            Data.StopLimit := 2;
            Data.EventId := "CUSTOM_EVENT";
        End If;
    End For;
    (Etl As IMetabaseObject).Save;
End Sub UserProc;

В результате выполнения примера для всех приемников, поддерживающих обработку ошибок выполнения отдельных транзакций, будут установлены одинаковые параметры:

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.

Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Etl;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    Etl: IEtlTask;
    Obj: IEtlObject;
    Data: IEtlPlainDataBulkConsumer;
    i: Integer;
Begin
    MB := Params.Metabase;
    Etl := MB.ItemById["ETL"].Edit() As IEtlTask;
    For i := 0 To Etl.Count - 1 Do
        Obj := Etl.Item[i];
        Data := Obj As IEtlPlainDataBulkConsumer;
        If (Obj Is IEtlPlainDataBulkConsumer) Then
            Data.ActionOnProblem := EtlActionOnProblem.aopDiscardInvalidRecords;
            Data.SaveInvalidRecs := True;
            Data.InvalidRecsFileName := "Errors";
            Data.CommitCount := 2000;
            Data.UseStopLimit := True;
            Data.StopLimit := 2;
            Data.EventId := "CUSTOM_EVENT";
        End If;
    End For;
    (Etl As IMetabaseObject).Save();
End Sub;

См. также:

IEtlPlainDataBulkConsumer