Bagikan melalui


TransferErrorMessagesTask.Execute Metode

Definisi

Menjalankan tugas sebagai bagian dari alur kerja paket.

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

Parameter

connections
Connections

Koleksi Connections untuk kontainer.

variableDispenser
VariableDispenser

Koleksi Variables untuk kontainer.

events
IDTSComponentEvents

Antarmuka IDTSComponentEvents untuk menaikkan peristiwa.

log
IDTSLogging

Antarmuka IDTSLogging .

transaction
Object

Objek transaksi yang merupakan bagian dari kontainer, tergantung pada nilai yang TransactionOption ditemukan di properti . Nilai ini bisa null.

Mengembalikan

DTSExecResult Enumerasi yang menunjukkan hasil eksekusi.

Contoh

Contoh kode berikut menunjukkan cara menjalankan paket yang mewarisi dari EventsProvider, yang pada gilirannya, mewarisi dari DtsContainer. Paket berisi BulkInsertTask. Tugas Sisipkan Massal hanya digunakan sebagai contoh; tugas apa pun dapat dibuat di tempatnya.

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 package 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 package 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  

Keterangan

Metode Execute ini diwariskan oleh objek dan tidak umum digunakan dalam kode, dan disarankan agar Anda memanggil Execute metode jika Anda perlu menjalankan salah satu tugas atau kontainer dalam paket. Namun, Execute metode ini tersedia pada objek individual jika Anda menemukan keadaan unik di mana diperlukan.

Penggunaan Execute utama metode ini adalah agar diwariskan dan ditimpa saat Anda membuat tugas kustom. Untuk informasi selengkapnya tentang cara mengambil alih metode Jalankan, lihat Mengodekan Tugas Kustom.

Metode memanggil Execute metode secara implisit Validate sebelum paket berjalan. Semua tugas dalam paket dan semua objek dalam paket ditinjau untuk pengaturan yang sesuai selama validasi, termasuk paket, kontainer, dan komponen lain dalam paket.

Jika tidak ada masalah yang ditemui dalam fase validasi yang akan menyebabkan paket gagal, objek paket melanjutkan untuk memanggil Execute metode untuk setiap tugas dan objek dalam paket.

Teruskan nulltransaction untuk parameter saat TransactionOption properti adalah false. TransactionOption Jika properti adalah true, Anda dapat meneruskan nulltransaction parameter untuk menunjukkan bahwa kontainer mendukung transaksi tetapi tidak akan berpartisipasi.

Berlaku untuk