The Execute method executes the transformation for a single row.
HRESULT Execute (
LPBYTE pvTransformServerData,
LPCDTSTransformColumnInfo pSrcColumnInfo,
LPDTSTransformColumnInfo pDestColumnInfo,
IDTSDataConvert *pIDTSDataConvert,
LPDTSTransformStatus peTransformStatus );
Argument | Description |
---|---|
pvTransformServerData [in] | Transformation server state data |
pSrcColumnInfo [in] | Source column and row data |
pDestColumnInfo [in/out] | Destination column and row data |
pIDTSDataConvert [in] | Pointer to the data conversion interface |
peTransformStatus [out] | Result of the transformation |
This function is called by the data pump and executes the specified transformation. The IDTSDataConvert interface is supplied to provide a DTS-compatible conversion utility.
Execute returns SUCCEED except when a fatal failure occurs. When Execute returns FAILED, the data pump terminates. Normal errors such as data violations should be handled as a returned pTransformStatus, which results in a call to IDTSDataPumpErrorSink::OnTransformError. Because some OLE DB providers may have restrictions on the number of storage objects that may be open, Execute releases any BLOB storage objects in the source upon completion, instead of waiting for OnRowComplete.