ExecuteProcess.InitializeTask 方法
Initializes the properties associated with the task. This method is called by the runtime and is not used in code.
命名空間: Microsoft.SqlServer.Dts.Tasks.ExecuteProcess
組件: Microsoft.SqlServer.ExecProcTask (在 Microsoft.SqlServer.ExecProcTask.dll 中)
語法
'宣告
Public Overrides Sub InitializeTask ( _
connections As Connections, _
variableDispenser As VariableDispenser, _
events As IDTSInfoEvents, _
log As IDTSLogging, _
eventInfos As EventInfos, _
logEntryInfos As LogEntryInfos, _
refTracker As ObjectReferenceTracker _
)
'用途
Dim instance As ExecuteProcess
Dim connections As Connections
Dim variableDispenser As VariableDispenser
Dim events As IDTSInfoEvents
Dim log As IDTSLogging
Dim eventInfos As EventInfos
Dim logEntryInfos As LogEntryInfos
Dim refTracker As ObjectReferenceTracker
instance.InitializeTask(connections, _
variableDispenser, events, log, eventInfos, _
logEntryInfos, refTracker)
public override void InitializeTask(
Connections connections,
VariableDispenser variableDispenser,
IDTSInfoEvents events,
IDTSLogging log,
EventInfos eventInfos,
LogEntryInfos logEntryInfos,
ObjectReferenceTracker refTracker
)
public:
virtual void InitializeTask(
Connections^ connections,
VariableDispenser^ variableDispenser,
IDTSInfoEvents^ events,
IDTSLogging^ log,
EventInfos^ eventInfos,
LogEntryInfos^ logEntryInfos,
ObjectReferenceTracker^ refTracker
) override
abstract InitializeTask :
connections:Connections *
variableDispenser:VariableDispenser *
events:IDTSInfoEvents *
log:IDTSLogging *
eventInfos:EventInfos *
logEntryInfos:LogEntryInfos *
refTracker:ObjectReferenceTracker -> unit
override InitializeTask :
connections:Connections *
variableDispenser:VariableDispenser *
events:IDTSInfoEvents *
log:IDTSLogging *
eventInfos:EventInfos *
logEntryInfos:LogEntryInfos *
refTracker:ObjectReferenceTracker -> unit
public override function InitializeTask(
connections : Connections,
variableDispenser : VariableDispenser,
events : IDTSInfoEvents,
log : IDTSLogging,
eventInfos : EventInfos,
logEntryInfos : LogEntryInfos,
refTracker : ObjectReferenceTracker
)
參數
- connections
型別:Microsoft.SqlServer.Dts.Runtime.Connections
A collection of connections used by the task.
- variableDispenser
型別:Microsoft.SqlServer.Dts.Runtime.VariableDispenser
A T:Microsoft.SqlServer.Dts.Runtime.VariableDispenser object for locking variables.
- events
型別:Microsoft.SqlServer.Dts.Runtime.IDTSInfoEvents
An object implementing the T:Microsoft.SqlServer.Dts.Runtime.IDTSInfoEvents interface.
- log
型別:Microsoft.SqlServer.Dts.Runtime.IDTSLogging
An object implementing the T:Microsoft.SqlServer.Dts.Runtime.IDTSLogging interface.
- eventInfos
型別:Microsoft.SqlServer.Dts.Runtime.EventInfos
A collection containing events to be raised during execution of the task.
- logEntryInfos
型別:Microsoft.SqlServer.Dts.Runtime.LogEntryInfos
A collection of log entries.
- refTracker
型別:Microsoft.SqlServer.Dts.Runtime.ObjectReferenceTracker
An object reference tracker.
備註
For the ExecuteProcess task and all other stock tasks, this method is used to set the log events of each task.
The run-time engine calls InitializeTask immediately after the task is created and before validation, execution, or persistence operations.
範例
Task developers define custom events by overriding the InitializeTask method of the Task base class, and creating a new EventInfo. The following code sample shows the InitializeTask method of a custom task, where two custom events are created, and added to the eventInfos collection.
public override void InitializeTask(Connections connections, VariableDispenser variables, IDTSInfoEvents events, IDTSLogging log, EventInfos eventInfos, LogEntryInfos logEntryInfos, ObjectReferenceTracker refTracker)
{
this.eventInfos = eventInfos;
string[] paramNames = new string[1];
TypeCode[] paramTypes = new TypeCode[1]{TypeCode.Int32};
string[] paramDescriptions = new string[1];
paramNames[0] = "InitialValue";
paramDescriptions[0] = "The value before increment.";
this.eventInfos.Add("OnBeforeIncrement","Fires before the task increments the value.",true,paramNames,paramTypes,paramDescriptions);
this.onBeforeIncrement = this.eventInfos["OnBeforeIncrement"];
paramDescriptions[0] = "The value after increment.";
this.eventInfos.Add("OnAfterIncrement","Fires after the initial value is updated.",true,paramNames, paramTypes,paramDescriptions);
this.onAfterIncrement = this.eventInfos["OnAfterIncrement"];
}
Public Overrides Sub InitializeTask(ByVal connections As Connections, ByVal variables As VariableDispenser, ByVal events As IDTSInfoEvents, ByVal log As IDTSLogging, ByVal eventInfos As EventInfos, ByVal logEntryInfos As LogEntryInfos, ByVal refTracker As ObjectReferenceTracker)
Me.eventInfos = eventInfos
Dim paramNames(0) As String
Dim paramTypes(0) As TypeCode = {TypeCode.Int32}
Dim paramDescriptions(0) As String
paramNames(0) = "InitialValue"
paramDescriptions(0) = "The value before increment."
Me.eventInfos.Add("OnBeforeIncrement", "Fires before the task increments the value.", True, paramNames, paramTypes, paramDescriptions)
Me.onBeforeIncrement = Me.eventInfos("OnBeforeIncrement")
paramDescriptions(0) = "The value after increment."
Me.eventInfos.Add("OnAfterIncrement", "Fires after the initial value is updated.", True, paramNames, paramTypes, paramDescriptions)
Me.onAfterIncrement = Me.eventInfos("OnAfterIncrement")
End Sub