IDTSDataPumpErrorSink::OnTransformError

DTS Programming

DTS Programming

IDTSDataPumpErrorSink::OnTransformError

The OnTransformError method indicates that an error occurred during one or more transformations.

Syntax

HRESULT OnTransformError (     LPBYTE pvExecUserData,
    LPBYTE pvTransformUserData,
    IDTSDataPumpTransform *pTransformServer,
    LPDTSTransformColumnInfo pSourceRow,
    DTSTransformStatus TransformStatus,
    HRESULT hrTransform,
    ULARGE_INTEGER uliRow,
    ULONG cErrors,
    BOOL *pbAbort );

Argument Description
pvExecUserData [in] User data pointer passed to IDTSDataPump::Execute.
pvTransformUserData [in] User data pointer passed to IDTSDataPump::AddTransform in DTSTransformColumnsSpecification parameter.
pTransformServer [in] Pointer to the transformation server returning the error.
pSourceRow [in] Pointer to the source row and binding information.
TransformStatus [in] Transformation returned status code.
hrTransform [in] DTSDataPumpTransform::Execute or DTSDataPumpTransform2::ProcessPhase HRESULT return code.
uliRow [in] Number of the row that failed.
cErrors [in] Number of error rows encountered during the transformation, including the current row.
pbAbort [out] Set to TRUE by the error sink if this error should terminate IDTSDataPump::Execute. Otherwise, Execute continues until MaximumErrorRowCount is exceeded.

Remarks

OnTransformError is called when an error is encountered transforming a row. Such an error may be encountered in one of the following ways:

  • The transformation server encounters data that cannot be transformed. It reports this by returning an error transform status. This is considered normal and operation of the data pump continues unless the pbAbort flag is set to TRUE or the maximum allowable error count is exceeded.

  • The transformation server returns an error in the HRESULT from DTSDataPumpTransform::Execute. This is considered a fatal data pump error.

  • The transformation server returns an exception. Any such exception is reported by the data pump as a normal row error, and operation continues.