ScriptTask 類別

定義

定義腳本工作的類別,可讓開發人員撰寫自訂程式碼,以執行 Integration Services 所提供的內建工作中未提供的函式。

public ref class ScriptTask : Microsoft::SqlServer::Dts::Runtime::Task, Microsoft::SqlServer::Dts::Runtime::IDTSBreakpointSite, Microsoft::SqlServer::Dts::Runtime::IDTSComponentPersist
[Microsoft.SqlServer.Dts.Runtime.DtsTask(HelpKeyword="sql13.dts.designer.scripttask.F1", LocalizationType=typeof(Microsoft.SqlServer.Dts.Tasks.ScriptTask.Localized), SamplesTag="SsisScriptTask", TaskType="DTS90", UITypeName="Microsoft.SqlServer.Dts.Tasks.ScriptTask.ScriptTaskUI, Microsoft.SqlServer.ScriptTaskUI, Version=13.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91")]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Runtime.InteropServices.Guid("04FAEAC9-FB98-4F21-8F96-0E857B739740")]
public class ScriptTask : Microsoft.SqlServer.Dts.Runtime.Task, Microsoft.SqlServer.Dts.Runtime.IDTSBreakpointSite, Microsoft.SqlServer.Dts.Runtime.IDTSComponentPersist
[System.Runtime.InteropServices.ComVisible(true)]
[Microsoft.SqlServer.Dts.Runtime.DtsTask(HelpKeyword="sql13.dts.designer.scripttask.F1", LocalizationType=typeof(Microsoft.SqlServer.Dts.Tasks.ScriptTask.Localized), SamplesTag="SsisScriptTask", TaskType="DTS90", UITypeName="Microsoft.SqlServer.Dts.Tasks.ScriptTask.ScriptTaskUI, Microsoft.SqlServer.ScriptTaskUI, Version=14.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91")]
[System.Runtime.InteropServices.Guid("4DF420FB-D5C2-4357-8FBE-ECB5E15554F8")]
public class ScriptTask : Microsoft.SqlServer.Dts.Runtime.Task, Microsoft.SqlServer.Dts.Runtime.IDTSBreakpointSite, Microsoft.SqlServer.Dts.Runtime.IDTSComponentPersist
[System.Runtime.InteropServices.ComVisible(true)]
[Microsoft.SqlServer.Dts.Runtime.DtsTask(HelpKeyword="sql13.dts.designer.scripttask.F1", LocalizationType=typeof(Microsoft.SqlServer.Dts.Tasks.ScriptTask.Localized), SamplesTag="SsisScriptTask", TaskType="DTS90", UITypeName="Microsoft.SqlServer.Dts.Tasks.ScriptTask.ScriptTaskUI, Microsoft.SqlServer.ScriptTaskUI, Version=15.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91")]
[System.Runtime.InteropServices.Guid("C2F3965A-3FE3-482B-A6F3-2514B78E149D")]
public class ScriptTask : Microsoft.SqlServer.Dts.Runtime.Task, Microsoft.SqlServer.Dts.Runtime.IDTSBreakpointSite, Microsoft.SqlServer.Dts.Runtime.IDTSComponentPersist
[<Microsoft.SqlServer.Dts.Runtime.DtsTask(HelpKeyword="sql13.dts.designer.scripttask.F1", LocalizationType=typeof(Microsoft.SqlServer.Dts.Tasks.ScriptTask.Localized), SamplesTag="SsisScriptTask", TaskType="DTS90", UITypeName="Microsoft.SqlServer.Dts.Tasks.ScriptTask.ScriptTaskUI, Microsoft.SqlServer.ScriptTaskUI, Version=13.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91")>]
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Runtime.InteropServices.Guid("04FAEAC9-FB98-4F21-8F96-0E857B739740")>]
type ScriptTask = class
    inherit Task
    interface IDTSBreakpointSite
    interface IDTSSuspend
    interface IDTSComponentPersist
[<System.Runtime.InteropServices.ComVisible(true)>]
[<Microsoft.SqlServer.Dts.Runtime.DtsTask(HelpKeyword="sql13.dts.designer.scripttask.F1", LocalizationType=typeof(Microsoft.SqlServer.Dts.Tasks.ScriptTask.Localized), SamplesTag="SsisScriptTask", TaskType="DTS90", UITypeName="Microsoft.SqlServer.Dts.Tasks.ScriptTask.ScriptTaskUI, Microsoft.SqlServer.ScriptTaskUI, Version=14.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91")>]
[<System.Runtime.InteropServices.Guid("4DF420FB-D5C2-4357-8FBE-ECB5E15554F8")>]
type ScriptTask = class
    inherit Task
    interface IDTSBreakpointSite
    interface IDTSSuspend
    interface IDTSComponentPersist
[<System.Runtime.InteropServices.ComVisible(true)>]
[<Microsoft.SqlServer.Dts.Runtime.DtsTask(HelpKeyword="sql13.dts.designer.scripttask.F1", LocalizationType=typeof(Microsoft.SqlServer.Dts.Tasks.ScriptTask.Localized), SamplesTag="SsisScriptTask", TaskType="DTS90", UITypeName="Microsoft.SqlServer.Dts.Tasks.ScriptTask.ScriptTaskUI, Microsoft.SqlServer.ScriptTaskUI, Version=15.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91")>]
[<System.Runtime.InteropServices.Guid("C2F3965A-3FE3-482B-A6F3-2514B78E149D")>]
type ScriptTask = class
    inherit Task
    interface IDTSBreakpointSite
    interface IDTSSuspend
    interface IDTSComponentPersist
Public Class ScriptTask
Inherits Task
Implements IDTSBreakpointSite, IDTSComponentPersist
繼承
ScriptTask
屬性
實作

範例

下列程式碼範例(在主控台應用程式中執行)會將加入 ScriptTask 至封裝中,並顯示其部分屬性的預設值。

using System;  
using Microsoft.SqlServer.Dts.Runtime;  

namespace ScriptTaskCS  
{  
  class Program  
  {  
    static void Main(string[] args)  
    {  
      Package pkg = new Package();  
      string newLine = System.Environment.NewLine;  

      Executable exe = pkg.Executables.Add("STOCK:ScriptTask");  
      TaskHost thTask = (TaskHost)exe;  

      string taskInfo;  
      taskInfo =   

        "Entry point: " +   
        thTask.Properties["EntryPoint"].GetValue(thTask) + newLine +   
        "Script Language: " +   
        thTask.Properties["ScriptLanguage"].GetValue(thTask) + newLine +   
        "ReadOnlyVariables: " +   
        thTask.Properties["ReadOnlyVariables"].GetValue(thTask) + newLine +   
        "ReadWriteVariables: " +   
        thTask.Properties["ReadWriteVariables"].GetValue(thTask);  

      Console.WriteLine(taskInfo);  
      Console.Read();  
    }  
  }  
}  
Imports Microsoft.SqlServer.Dts.Runtime  

Module Module1  

  Sub Main()  

    Dim pkg As New Package  
    Dim newLine As String = System.Environment.NewLine  

    Dim exe As Executable = pkg.Executables.Add("STOCK:ScriptTask")  
    Dim thTask As TaskHost = CType(exe, TaskHost)  

    Dim taskInfo As String  
    taskInfo =   

      "Entry point: " & _  
      thTask.Properties("EntryPoint").GetValue(thTask) & newLine & _  
      "Script Language: " & _  
      thTask.Properties("ScriptLanguage").GetValue(thTask) & newLine & _  
      "ReadOnlyVariables: " & _  
      thTask.Properties("ReadOnlyVariables").GetValue(thTask) & newLine & _  
      "ReadWriteVariables: " & _  
      thTask.Properties("ReadWriteVariables").GetValue(thTask)  

    Console.WriteLine(taskInfo)  
    Console.Read()  

  End Sub  

End Module  

備註

ScriptTask類別會定義腳本工作,並使用執行時間和應用程式的 Visual Studio 來處理腳本工作的互動。

如需詳細資訊,請參閱 腳本 工作和程式 代碼撰寫和偵錯工具腳本工作

建構函式

ScriptTask()

初始化 ScriptTask 類別的新執行個體。

屬性

BreakpointManager

取得用於控制此工作上之中斷點的 BreakpointManager

Breakpoints

取得在此工作上設定的中斷點陣列。

DebugMode

取得或設定值,指出工作是否以偵錯模式執行,以及當此工作執行時是否應該引發 OnBreakpointHit(IDTSBreakpointSite, BreakpointTarget) 事件。

DefaultActiveItem

取得預設指令碼。

EntryPoint

取得或設定做為進入點執行的類別名稱。

ExecutionValue

取得使用者定義的物件。 此欄位為唯讀。

ProjectTemplatePath

取得指定之專案範本的路徑。

ReadOnlyVariables

取得或設定使用者提供給封裝的現有變數清單 (以逗號分隔),以進行唯讀存取。

ReadWriteVariables

取得或設定使用者提供給封裝的現有變數清單 (以逗號分隔),以進行讀取/寫入存取。

ScriptingEngine

取得 VSTATaskScriptingEngine 類別。

ScriptLanguage

取得或設定撰寫指令碼所使用的程式設計語言。

ScriptLoaded

取得值,指出工作是否包含自訂指令碼。

ScriptProjectName

取得或設定指令碼專案的名稱。

ScriptStorage

取得指令碼的 VSTAScriptProjectStorage。

SuspendRequired

取得或設定布林值,指出工作是否應該在工作遇到中斷點時暫停執行。 此值是由執行階段引擎針對工作和容器遇到中斷點時設定的。

TargetServerVersion (繼承來源 Task)
Version

*成員已被 **  取代; 請參閱備註。 **_ 會傳回工作的版本。 這是唯讀的屬性。

(繼承來源 Task)

方法

AcceptBreakpointManager(BreakpointManager)

BreakpointManager 傳遞至工作。 這個方法由執行階段呼叫,並不使用於程式碼中。

CanUpdate(String)

*成員已被 **  取代; 請參閱備註。 **_ 布林值,指出新的封裝 XML 是否可以更新舊封裝 XML。

(繼承來源 Task)
Equals(Object)

判斷兩種物件執行個體是否相同。

(繼承來源 DtsObject)
Execute(Connections, VariableDispenser, IDTSComponentEvents, IDTSLogging, Object)

執行包含在這個 DTS 指令碼工作執行個體的指令碼。

Finalize()

釋放 ScriptTask 所使用的所有資源。

GetConnectionID(Connections, String)

取得包含連接識別碼的字串。

(繼承來源 Task)
GetConnectionName(Connections, String)

取得包含連接名稱的字串。

(繼承來源 Task)
GetHashCode()

傳回這個執行個體的雜湊碼。

(繼承來源 DtsObject)
InitializeTask(Connections, VariableDispenser, IDTSInfoEvents, IDTSLogging, EventInfos, LogEntryInfos, ObjectReferenceTracker)

初始化與指令碼工作相關聯的屬性。 這個方法由執行階段呼叫,並不使用於程式碼中。

LoadFromXML(XmlElement, IDTSInfoEvents)

實作從 XML 文件載入屬性。

ReportBreakpointChanges()

報告工作的中斷點變更。

ResumeExecution()

在暫停之後,由執行階段引擎繼續執行工作或容器。

SaveToXML(XmlDocument, IDTSInfoEvents)

實作將屬性儲存到 XML 文件。

SetUniqueScriptProjectName()

設定指令碼專案的唯一名稱。

SuspendExecution()

表示可執行檔必須暫停執行。 執行階段引擎會呼叫這個方法。

Update(String)

*成員已被 **  取代; 請參閱備註。 **_ 如果設為 true,則這個方法會以新的封裝 XML 更新舊封裝 XML CanUpdate(String)

(繼承來源 Task)
Validate(Connections, VariableDispenser, IDTSComponentEvents, IDTSLogging)

驗證是否已正確設定元件。

適用於