Share via


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

System.Object
  Microsoft.SqlServer.Dts.Runtime.DtsObject
    Microsoft.SqlServer.Dts.Runtime.Task
      Microsoft.SqlServer.Dts.Tasks.ScriptTask.ScriptTask

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

Syntax

'Declaration
<GuidAttribute("8D1A24AD-9B5D-49E4-B160-53CD9D6ACCFD")> _
<ComVisibleAttribute(True)> _
Public Class ScriptTask _
    Inherits Task _
    Implements IDTSBreakpointSite, IDTSSuspend, IDTSComponentPersist
'Usage
Dim instance As ScriptTask
[GuidAttribute("8D1A24AD-9B5D-49E4-B160-53CD9D6ACCFD")]
[ComVisibleAttribute(true)]
public class ScriptTask : Task, IDTSBreakpointSite, 
    IDTSSuspend, IDTSComponentPersist
[GuidAttribute(L"8D1A24AD-9B5D-49E4-B160-53CD9D6ACCFD")]
[ComVisibleAttribute(true)]
public ref class ScriptTask : public Task, 
    IDTSBreakpointSite, IDTSSuspend, IDTSComponentPersist
[<GuidAttribute("8D1A24AD-9B5D-49E4-B160-53CD9D6ACCFD")>]
[<ComVisibleAttribute(true)>]
type ScriptTask =  
    class 
        inherit Task 
        interface IDTSBreakpointSite 
        interface IDTSSuspend 
        interface IDTSComponentPersist 
    end
public class ScriptTask extends Task implements IDTSBreakpointSite, IDTSSuspend, IDTSComponentPersist

The ScriptTask type exposes the following members.

Constructors

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

Top

Properties

  Name Description
Public property BreakpointManager Gets the BreakpointManager used for controlling breakpoints on this task.
Public property Breakpoints Gets 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 DefaultActiveItem Gets the default script.
Public property EntryPoint Gets or sets the name of the class that is executed as the entry point.
Public property ExecutionValue Gets a user-defined object. This field is read-only. (Overrides Task.ExecutionValue.)
Public property ProjectTemplatePath Gets the path of the specified project template.
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] for the script.
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.)

Top

Methods

  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 Executes the script contained in this instance of DTS 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 Implements loading of properties from XML document.
Protected method MemberwiseClone (Inherited from Object.)
Public method ReportBreakpointChanges Infrastructure. Reports the breakpoint changes from the task.
Public method ResumeExecution Resumes execution of the task or container by the run-time engine after pausing.
Public method SaveToXML Implements saving of properties to XML document.
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).)

Top

Remarks

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.

Examples

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

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.

See Also

Reference

Microsoft.SqlServer.Dts.Tasks.ScriptTask Namespace