XMLTask.Execute Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Выполняет задачу.
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
Коллекция Connections для задачи.
- variableDispenser
- VariableDispenser
Объект VariableDispenser для блокировки переменных.
- events
- IDTSComponentEvents
Интерфейс IDTSComponentEvents для формирования событий.
- log
- IDTSLogging
Интерфейс IDTSLogging.
- transaction
- Object
Объект транзакции, частью которого является задача. Это значение может быть равно NULL.
Возвращаемое значение
Перечисление DTSExecResult, указывающее результат выполнения.
Примеры
В следующем примере кода показано, как запустить пакет, содержащий после BulkInsertTask установки некоторых свойств задачи. Задача "Массовая вставка" является примером для этого примера кода; Любую задачу можно создать на месте.
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
Комментарии
Этот метод доступен XMLTaskнезависимо от OperationType значения.
Метод Execute наследуется узлами задач и другими объектами из Executable абстрактного класса через DtsContainer класс и позволяет запускать наследуемые объекты подсистемой среды выполнения. Метод Execute
, наследуемый отдельными объектами, часто не используется в коде, и рекомендуется вызывать Execute метод, если необходимо выполнить какие-либо задачи или контейнеры в пакете. Однако метод Execute
доступен для отдельных объектов, если он необходим.
Основное использование Execute
метода заключается в том, чтобы он был унаследован и переопределен при создании пользовательской задачи. Дополнительные сведения о переопределении метода Execute см. в разделе "Написание пользовательской задачи".
Метод Execute
вызывает Validate
метод неявно перед выполнением пакета. Все задачи в пакете проверяются на наличие соответствующих параметров во время проверки, а все объекты в пакете проверяются, включая пакет, контейнеры и другие компоненты в пакете.
Если на этапе проверки нет проблем, которые привели бы к сбою пакета, объект пакета продолжает вызывать Execute
метод для каждой задачи и объекта в пакете.
Передайте null
параметр, transaction
если TransactionOption свойство имеет значение false
. TransactionOption Если свойство имеет значение true, можно передать null
transaction
параметр, чтобы указать, что контейнер поддерживает транзакции, но не участвует.