ScriptTask Class

Defines the classes for the Script task, which lets developers write custom code to perform functions that are not available in the built-in tasks provided by Integration Services.

Inheritance Hierarchy


Namespace:  Microsoft.SqlServer.Dts.Tasks.ScriptTask
Assembly:  Microsoft.SqlServer.ScriptTask (in Microsoft.SqlServer.ScriptTask.dll)


<GuidAttribute("2EC4E475-058D-3590-8909-279F833D8B9C")> _
<ComVisibleAttribute(True)> _
Public Class ScriptTask _
    Inherits Task _
    Implements IDTSBreakpointSite, IDTSSuspend, IDTSComponentPersist
Dim instance As ScriptTask
public class ScriptTask : Task, IDTSBreakpointSite, 
    IDTSSuspend, IDTSComponentPersist
public ref class ScriptTask : public Task, 
    IDTSBreakpointSite, IDTSSuspend, IDTSComponentPersist
type ScriptTask =  
        inherit Task
        interface IDTSBreakpointSite
        interface IDTSSuspend
        interface IDTSComponentPersist
public class ScriptTask extends Task implements IDTSBreakpointSite, IDTSSuspend, IDTSComponentPersist

The ScriptTask type exposes the following members.


  Name Description
Public method ScriptTask Initializes a new instance of the ScriptTask class.



  Name Description
Public property BreakpointManager Returns the BreakpointManager used for controlling breakpoints on this task.
Public property Breakpoints Returns an array of breakpoints set on this task.
Public property DebugMode Gets or sets a value indicating whether the task is running in debug mode, and whether it should raise the OnBreakpointHit event while the task is running.
Public property EntryPoint Gets or sets the name of the class that is executed as the entry point.
Public property ExecutionValue Returns a user-defined object. This field is read-only. (Overrides Task.ExecutionValue.)
Public property ReadOnlyVariables Gets or sets the comma-delimited list of existing variables made available to the package by the user for read-only access.
Public property ReadWriteVariables Gets or sets the comma-delimited list of existing variables made available to the package by the user for read/write access.
Public property ScriptingEngine Gets the VSTATaskScriptingEngine class.
Public property ScriptLanguage Gets or sets the programming language in which the script is written.
Public property ScriptLoaded Gets a value indicating whether the task contains custom script.
Public property ScriptProjectName Gets or sets the name of the script project.
Public property ScriptStorage Gets the [VSTAScriptProjectStorage].
Public property SuspendRequired Gets or sets a Boolean indicating whether a task should suspend execution when the task encounters a breakpoint. This value is set by the run-time engine for tasks and containers when a breakpoint is encountered.
Public property Version *** Member deprecated; see Remarks. ***    Returns the version of the task. This property is read-only. (Inherited from Task.)



  Name Description
Public method AcceptBreakpointManager Passes a BreakpointManager to the task. This method is called by the runtime and is not used in code.
Public method CanUpdate *** Member deprecated; see Remarks. ***    A Boolean that indicates whether the new package XML can update the old package XML. (Inherited from Task.)
Public method Equals Determines whether two object instances are equal. (Inherited from DtsObject.)
Public method Execute Runs the Script task. (Overrides Task.Execute(Connections, VariableDispenser, IDTSComponentEvents, IDTSLogging, Object).)
Protected method Finalize Releases all resources used by the ScriptTask. (Overrides Object.Finalize().)
Public method GetConnectionID Gets a String containing the ID of the connection. (Inherited from Task.)
Public method GetConnectionName Gets a String containing the name of the connection. (Inherited from Task.)
Public method GetHashCode Returns the hash code for this instance. (Inherited from DtsObject.)
Public method GetType (Inherited from Object.)
Public method InitializeTask Initializes the properties associated with the Script task. This method is called by the runtime and is not used in code. (Overrides Task.InitializeTask(Connections, VariableDispenser, IDTSInfoEvents, IDTSLogging, EventInfos, LogEntryInfos, ObjectReferenceTracker).)
Public method LoadFromXML Loads the Script task data from XML. This method is not callable by your application code. To load a package saved as .xml, use the Application.LoadPackage method.
Protected method MemberwiseClone (Inherited from Object.)
Public method ReportBreakpointChanges Infrastructure.
Public method ResumeExecution Resumes execution of the task or container by the run-time engine after pausing.
Public method SaveToXML Saves the Script task component to XML. This method is not callable by your application code. To save a package as .xml, use the Application.SaveToXml method.
Public method SetUniqueScriptProjectName Sets the unique name of the script project.
Public method SuspendExecution Indicates that the executable must suspend execution. This method is called by the run-time engine.
Public method ToString (Inherited from Object.)
Public method Update *** Member deprecated; see Remarks. ***    This method updates the old package XML with the new package XML if CanUpdate is set to true. (Inherited from Task.)
Public method Validate Verifies that the component is correctly configured. (Overrides Task.Validate(Connections, VariableDispenser, IDTSComponentEvents, IDTSLogging).)



The ScriptTask class defines the Script task and handles the interaction of the Script task with the runtime and with Visual Studio for Applications.

For more information, see Script Task and Coding and Debugging the Script Task.


The following code sample, implemented in a console application, adds a ScriptTask to the package and displays the default values of some of its properties.

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: " + 

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: " & _


  End Sub

End Module

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.