Package.Execute Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает перечисление DTSExecResult, которое содержит данные об успешном или неуспешном выполнении пакета.
public:
Microsoft::SqlServer::Dts::Runtime::DTSExecResult Execute();
public Microsoft.SqlServer.Dts.Runtime.DTSExecResult Execute ();
override this.Execute : unit -> Microsoft.SqlServer.Dts.Runtime.DTSExecResult
Public Function Execute () As DTSExecResult
Возвращаемое значение
Перечисление DTSExecResult, которое содержит данные об успешном или неуспешном выполнении пакета.
Примеры
В следующем примере кода создается пакет, задаются OfflineMode и InteractiveMode свойства перед добавлением задачи скрипта. Затем он запускает пакет с помощью Execute метода.
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Dts.Runtime;
using Microsoft.SqlServer.Dts.Tasks.ScriptTask;
namespace Package_API
{
class Program
{
static void Main(string[] args)
{
Package p = new Package();
p.InteractiveMode = true;
p.OfflineMode = true;
// Add a Script Task to the package.
TaskHost taskH = (TaskHost)p.Executables.Add(typeof(Microsoft.SqlServer.Dts.Tasks.ScriptTask.ScriptTask).AssemblyQualifiedName);
// Run the package.
p.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.ScriptTask
Namespace Package_API
Class Program
Shared Sub Main(ByVal args() As String)
Dim p As Package = New Package()
p.InteractiveMode = True
p.OfflineMode = True
' Add a Script Task to the package.
Dim taskH As TaskHost = CType(p.Executables.Add(Type.GetType(Microsoft.SqlServer.Dts.Tasks.ScriptTask.ScriptTask).AssemblyQualifiedName), TaskHost)
' Run the package.
p.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
Комментарии
Метод Execute наследуется узлами задач и другими объектами из абстрактного Executable класса через DtsContainer класс и позволяет запускать наследуемые объекты подсистемой среды выполнения. Метод Execute
, наследуемый отдельными объектами, обычно не используется в коде, и рекомендуется вызывать Execute метод, если требуется выполнить какие-либо задачи или контейнеры в пакете. Execute
Однако этот метод доступен для отдельных объектов, если он необходим.
Основное использование Execute
метода заключается в том, чтобы он был унаследован и переопределен при создании пользовательской задачи. Дополнительные сведения о переопределении метода Execute см. в разделе "Кодирование пользовательской задачи".
Метод Execute
вызывает метод Validate
неявно перед выполнением пакета. Все задачи в пакете проверяются на наличие соответствующих параметров во время проверки, а все объекты в пакете проверяются, включая пакет, контейнеры и другие компоненты в пакете.
Если на этапе проверки отсутствуют проблемы, которые привели бы к сбою пакета, объект пакета продолжает вызывать Execute
метод для каждой задачи и объекта в пакете.
Передайте null
параметр, transaction
если TransactionOption свойство имеет значение false
. TransactionOption Если свойство имеет значение true, можно передать null
transaction
параметр, чтобы указать, что контейнер поддерживает транзакции, но не участвует.