Bagikan melalui


XMLTask.Execute Metode

Definisi

Menjalankan tugas.

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 tugas tersebut.

variableDispenser
VariableDispenser

Objek VariableDispenser untuk mengunci variabel.

events
IDTSComponentEvents

Antarmuka IDTSComponentEvents untuk menaikkan peristiwa.

log
IDTSLogging

Antarmuka IDTSLogging .

transaction
Object

Objek transaksi yang menjadi bagian dari tugas tersebut. Nilai ini bisa null.

Mengembalikan

DTSExecResult yang menunjukkan hasil eksekusi.

Contoh

Contoh kode berikut menunjukkan cara menjalankan paket yang BulkInsertTask berisi setelah beberapa properti tugas diatur. Tugas Sisipkan Massal adalah contoh untuk sampel kode ini; 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 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  

Keterangan

Metode ini tersedia untuk XMLTask, terlepas dari nilainya OperationType .

Metode Execute ini diwariskan oleh host tugas dan objek lain dari Executable kelas abstrak, melalui DtsContainer kelas , dan memungkinkan objek warisan dijalankan oleh mesin runtime. Metode Execute yang diwarisi oleh objek individual 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 ditinjau untuk pengaturan yang sesuai selama validasi, dan semua objek dalam paket ditinjau, 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 benar, Anda dapat meneruskan nulltransaction parameter untuk menunjukkan bahwa kontainer mendukung transaksi tetapi tidak berpartisipasi.

Berlaku untuk