Bagikan melalui


FileSystemTask.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 ^ txn);
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 txn);
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, txn As Object) As DTSExecResult

Parameter

connections
Connections

Kumpulan koneksi yang digunakan oleh tugas.

variableDispenser
VariableDispenser

Objek VariableDispenser untuk mengunci variabel.

events
IDTSComponentEvents

Objek yang mengimplementasikan IDTSComponentEvents antarmuka.

log
IDTSLogging

Objek yang mengimplementasikan IDTSComponentEvents antarmuka.

txn
Object

Objek transaksi tempat kontainer menjadi bagiannya. Nilai ini bisa null.

Mengembalikan

Nilai dari DTSExecResult enumerasi.

Contoh

Contoh kode berikut menunjukkan cara menjalankan paket yang berisi BulkInsertTask 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 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 Pengodean 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 dihadapi 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