ScriptTask.Execute 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
이 DTS 스크립트 작업 인스턴스에 포함된 스크립트를 실행합니다.
public:
override Microsoft::SqlServer::Dts::Runtime::DTSExecResult Execute(Microsoft::SqlServer::Dts::Runtime::Connections ^ connections, Microsoft::SqlServer::Dts::Runtime::VariableDispenser ^ variableDispenser, Microsoft::SqlServer::Dts::Runtime::IDTSComponentEvents ^ events, Microsoft::SqlServer::Dts::Runtime::IDTSLogging ^ log, System::Object ^ transaction);
public override Microsoft.SqlServer.Dts.Runtime.DTSExecResult Execute(Microsoft.SqlServer.Dts.Runtime.Connections connections, Microsoft.SqlServer.Dts.Runtime.VariableDispenser variableDispenser, Microsoft.SqlServer.Dts.Runtime.IDTSComponentEvents events, Microsoft.SqlServer.Dts.Runtime.IDTSLogging log, object transaction);
override this.Execute : Microsoft.SqlServer.Dts.Runtime.Connections * Microsoft.SqlServer.Dts.Runtime.VariableDispenser * Microsoft.SqlServer.Dts.Runtime.IDTSComponentEvents * Microsoft.SqlServer.Dts.Runtime.IDTSLogging * obj -> Microsoft.SqlServer.Dts.Runtime.DTSExecResult
Public Overrides Function Execute (connections As Connections, variableDispenser As VariableDispenser, events As IDTSComponentEvents, log As IDTSLogging, transaction As Object) As DTSExecResult
매개 변수
- connections
- Connections
작업에서 사용하는 연결들의 집합입니다.
- variableDispenser
- VariableDispenser
VariableDispenser 변수를 잠그는 객체입니다.
- events
- IDTSComponentEvents
인터페이스를 구현하는 개체입니다 IDTSComponentEvents .
- log
- IDTSLogging
인터페이스를 구현하는 개체입니다 IDTSLogging .
- transaction
- Object
컨테이너가 속한 트랜잭션 객체입니다. 런타임은 속성에 TransactionOption 기반한 컨테이너의 트랜잭션을 제공합니다. 이 값은 null일 수 있습니다.
반품
열거형의 DTSExecResult 값입니다.
예제
다음 코드 예시는 작업 속성 일부가 설정된 후 a BulkInsertTask 를 포함하는 패키지를 실행하는 방법을 보여줍니다. Bulk Insert 작업은 이 코드 샘플의 한 예일 뿐입니다; 어떤 과제든 만들 수 있습니다.
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 execution.
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 execution.
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
설명
이 메서드는 Execute 작업 호스트와 추상 클래스에서 Executable 다른 객체들이 클래스를 DtsContainer 통해 상속되며, 상속된 객체들이 런타임 엔진에서 실행할 수 있도록 합니다. 개별 객체가 상속하는 메서드는 Execute 일반적으로 코드에서 사용되지 않으며, 패키지에서 작업이나 컨테이너를 실행해야 할 때는 메서드를 호출 Execute 해야 합니다. 하지만 Execute 이 방법은 특정 상황에서 필요할 경우 개별 물체에 대해서는 사용할 수 있습니다.
메서드는 Execute 패키지가 실행되기 전에 암묵적으로 메서드를 Validate 호출합니다. 패키지 내 모든 작업은 검증 시 적절한 설정에 대해 검토되며, 패키지, 컨테이너 및 기타 구성 요소를 포함한 모든 객체가 검토됩니다.
검증 단계에서 패키지가 실패할 만한 문제가 없으면, 패키지 객체는 패키지 내 각 작업과 객체에 대해 메서드를 Execute 호출합니다.
속성이 null 일 transaction때 매개변수를 통과 TransactionOption 합니다false. 속성이 TransactionOption 이라 true면, 컨테이너가 트랜잭션을 지원하지만 참여하지 않음을 나타내는 매개변수를 전달 nulltransaction 할 수 있습니다.