Execute 메서드
Executes the executable.
네임스페이스: Microsoft.SqlServer.Dts.Runtime
어셈블리: Microsoft.SqlServer.ManagedDTS(Microsoft.SqlServer.ManagedDTS.dll)
구문
‘선언
Public MustOverride Function Execute ( _
connections As Connections, _
variables As Variables, _
events As IDTSEvents, _
log As IDTSLogging, _
transaction As Object _
) As DTSExecResult
‘사용 방법
Dim instance As Executable
Dim connections As Connections
Dim variables As Variables
Dim events As IDTSEvents
Dim log As IDTSLogging
Dim transaction As Object
Dim returnValue As DTSExecResult
returnValue = instance.Execute(connections, _
variables, events, log, transaction)
public abstract DTSExecResult Execute(
Connections connections,
Variables variables,
IDTSEvents events,
IDTSLogging log,
Object transaction
)
public:
virtual DTSExecResult Execute(
Connections^ connections,
Variables^ variables,
IDTSEvents^ events,
IDTSLogging^ log,
Object^ transaction
) abstract
abstract Execute :
connections:Connections *
variables:Variables *
events:IDTSEvents *
log:IDTSLogging *
transaction:Object -> DTSExecResult
public abstract function Execute(
connections : Connections,
variables : Variables,
events : IDTSEvents,
log : IDTSLogging,
transaction : Object
) : DTSExecResult
매개 변수
- connections
유형: Microsoft.SqlServer.Dts.Runtime. . :: . .Connections
A Connections collection.
- variables
유형: Microsoft.SqlServer.Dts.Runtime. . :: . .Variables
A Variables collection.
- events
유형: Microsoft.SqlServer.Dts.Runtime. . :: . .IDTSEvents
An IDTSEvents interface to raise events.
- log
유형: Microsoft.SqlServer.Dts.Runtime. . :: . .IDTSLogging
An IDTSLogging interface.
- transaction
유형: System. . :: . .Object
The handle to a transaction type if participating in a transaction. This value can be nullNothingnullptrunitnull 참조(Visual Basic에서는 Nothing).
반환 값
유형: Microsoft.SqlServer.Dts.Runtime. . :: . .DTSExecResult
Returns a value from the DTSExecResult enumeration that indicates success, failure, or other status from running the executable.
주의
The Execute method is inherited by task hosts and other objects from this Executable abstract class, through the DtsContainer class, and allows the inheriting objects to be run by the runtime engine. The Execute method inherited by the individual objects is not commonly used in code, and it is recommended that you call the Execute method if you need to run any of the tasks or containers in the package. However, the Execute method is available on individual objects should you find a unique circumstance where it is needed.
The main use of the Execute method is for it to be inherited and overridden when you create a custom task. For more information about how to override the Execute method, see 사용자 지정 태스크 코딩.
The Execute method calls the Validate method implicitly before the package runs. All tasks in the package are reviewed for appropriate settings during validation, and all objects in the package are reviewed, including the package, containers, and other components in the package.
If there are no problems encountered in the validation phase that would cause the package to fail, the package object proceeds to call the Execute method for each task and object in the package.
Pass null Nothing nullptr unit null 참조(Visual Basic에서는 Nothing) for the transaction parameter when the TransactionOption property is false. If the TransactionOption property is true, you can pass null in the transaction parameter to indicate that the container supports transactions but does not participate.
예
The following code example shows how to run a package which inherits from the Executable class through the DtsContainer class. The package contains a BulkInsertTask. The Bulk Insert task is an example for this code sample; any task can be created in its place.
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Dts.Runtime;
using Microsoft.SqlServer.Dts.Tasks.BulkInsertTask
namespace Microsoft.SqlServer.SSIS.Samples
{
class Program
{
static void Main(string[] args)
{
Package p = new Package();
p.InteractiveMode = true;
p.OfflineMode = true;
Executable exec1 = pkg.Executables.Add("STOCK:BulkInsertTask");
TaskHost th = exec1 as TaskHost;
// Set the CheckConstraints and DataFileType properties.
th.Properties["CheckConstraints"].SetValue(th, true);
th.Properties["DataFileType"].SetValue(th, DTSBulkInsert_DataFileType.DTSBulkInsert_DataFileType_Native);
// Run the package that contains the task.
pkg.Execute();
// Review the results of the run.
if (taskH.ExecutionResult == DTSExecResult.Failure || taskH.ExecutionStatus == DTSExecStatus.Abend)
Console.WriteLine("Task failed or abended");
else
Console.WriteLine("Task ran successfully");
}
}
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.SqlServer.Dts.Runtime
Imports Microsoft.SqlServer.Dts.Tasks.BulkInsertTask
Namespace Microsoft.SqlServer.SSIS.Samples
Class Program
Shared Sub Main(ByVal args() As String)
Dim p As Package = New Package()
p.InteractiveMode = True
p.OfflineMode = True
Dim exec1 As Executable = pkg.Executables.Add("STOCK:BulkInsertTask")
Dim th As TaskHost = exec1 as TaskHost
' Set the CheckConstraints and DataFileType properties.
th.Properties("CheckConstraints").SetValue(th, True)
th.Properties("DataFileType").SetValue(th, DTSBulkInsert_DataFileType.DTSBulkInsert_DataFileType_Native)
' Run the package that contains the task.
pkg.Execute()
' Review the results of the run.
If taskH.ExecutionResult = DTSExecResult.Failure Or taskH.ExecutionStatus = DTSExecStatus.Abend Then
Console.WriteLine("Task failed or abended")
Else
Console.WriteLine("Task ran successfully")
End If
End Sub
End Class
End Namespace