Udostępnij za pośrednictwem


Metoda Package.Execute

Zwraca DTSExecResult wyliczenia, który zawiera informacje o sukcesu lub niepowodzenia wykonania pakiet.

Przestrzeń nazw:  Microsoft.SqlServer.Dts.Runtime
Zestaw:  Microsoft.SqlServer.ManagedDTS (w Microsoft.SqlServer.ManagedDTS.dll)

Składnia

'Deklaracja
Public Function Execute As DTSExecResult
'Użycie
Dim instance As Package
Dim returnValue As DTSExecResult

returnValue = instance.Execute()
public DTSExecResult Execute()
public:
DTSExecResult Execute()
member Execute : unit -> DTSExecResult 
public function Execute() : DTSExecResult

Wartość zwracana

Typ: Microsoft.SqlServer.Dts.Runtime.DTSExecResult
A DTSExecResult wyliczania.

Uwagi

Execute Metoda jest dziedziczona przez hosty zadań i innych obiektów z Executable abstrakcyjne klasy, poprzez DtsContainer klasy i pozwala dziedziczące obiektów do uruchomienia przez aparat runtime.Wykonywanie metoda dziedziczone przez poszczególne obiekty nie jest powszechnie używany w kodzie i zaleca się, że wywołania Execute metoda, jeśli trzeba uruchomić zadania lub pojemników w pakiet.Jednak Wykonywanie metoda jest dostępna w poszczególnych obiektach powinny możesz znaleźć unikatowy okoliczności tam, gdzie to konieczne.

Głównym zastosowaniem Wykonywanie metoda jest dziedziczone i zastąpiona podczas tworzenia niestandardowego zadania.Aby uzyskać więcej informacji na temat zastąpić metoda Execute, zobacz Kodowanie niestandardowego zadania.

Wykonywanie wywołania metoda sprawdzania poprawności metoda niejawnie, przed uruchomieniem pakiet.Wszystkie zadania w pakiet są przeglądane odpowiednie ustawienia podczas sprawdzania poprawności i wszystkich obiektów w pakiet rewidowane, włączając pakiet, kontenerów i innych składników w pakiet.

Jeżeli nie ma żadnych problemów napotkanych w fazie sprawdzania poprawności, które mogłyby spowodować pakiet nie powiedzie się, obiekt pakietu przechodzą do wywołania Wykonywanie metoda dla każdego zadania i obiektów w pakiecie.

Przekazywanie nullodwołanie o wartości null (Nothing w języku Visual Basic) dla transaction parametr podczas TransactionOption właściwość jest false.Jeśli TransactionOption właściwość ma wartość true, można przekazać null w transaction parametru, aby wskazać, że kontener obsługuje transakcje, ale nie uczestniczy.

Przykłady

Poniższy przykład kodu tworzy pakiet, zestawy OfflineMode i InteractiveMode Właściwości przed dodaniem zadania skryptu.Następnie uruchamia pakiet za pomocą Execute metoda.

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