Bagikan melalui


ScriptTask.Execute Metode

Definisi

Menjalankan skrip yang terkandung dalam instans Tugas Skrip DTS ini.

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

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 IDTSLogging antarmuka.

transaction
Object

Objek transaksi yang merupakan bagian dari kontainer. Runtime menyediakan transaksi untuk kontainer, berdasarkan TransactionOption properti . 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 hanyalah contoh untuk sampel kode ini; tugas apa pun dapat dibuat.

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 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 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 host tugas dan objek lain dari Executable kelas abstrak, melalui DtsContainer kelas , dan memungkinkan objek warisan dijalankan oleh mesin run-time. Metode Execute yang diwarisi oleh objek individual biasanya tidak digunakan dalam kode, dan Anda harus memanggil Execute metode jika Anda harus menjalankan tugas atau kontainer dalam paket. Namun, Execute metode ini tersedia pada objek individual jika Anda menemukan keadaan unik di mana diperlukan.

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 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 berpartisipasi.

Berlaku untuk