ScriptTask.PreCompile Property

Gets or sets a value indicating whether the VSA script is compiled when the package is saved.

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

Syntax

'Declaration
Public Property PreCompile As Boolean
public bool PreCompile { get; set; }
public:
property bool PreCompile {
    bool get ();
    void set (bool value);
}
/** @property */
public boolean get_PreCompile ()

/** @property */
public void set_PreCompile (boolean value)
public function get PreCompile () : boolean

public function set PreCompile (value : boolean)

Property Value

true if the VSA script is compiled when the package is saved; otherwise, false. The default value is true.

Remarks

VSA scripts must be compiled before the package runs. The Script task includes the option to pre-compile script into binary code when the package is saved. When script is precompiled, the language engine is not loaded at run time and the package runs more quickly; however, compiled binary files consume significant disk space. Script that is not precompiled is compiled at run time, which slows package execution but consumes less disk space. When storing large packages is not a problem, you should pre-compile your VSA scripts.

Example

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, including the PreCompile property.

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 = 
        "Project name: " + 
        thTask.Properties["VsaProjectName"].GetValue(thTask) + newLine + 
        "Entry point: " + 
        thTask.Properties["EntryPoint"].GetValue(thTask) + newLine + 
        "Script Language: " + 
        thTask.Properties["ScriptLanguage"].GetValue(thTask) + newLine + 
        "Precompiled?: " + 
        thTask.Properties["PreCompile"].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 = "Project name: " & _
      thTask.Properties("VsaProjectName").GetValue(thTask) & newLine & _
      "Entry point: " & _
      thTask.Properties("EntryPoint").GetValue(thTask) & newLine & _
      "Script Language: " & _
      thTask.Properties("ScriptLanguage").GetValue(thTask) & newLine & _
      "Precompiled?: " & _
      thTask.Properties("PreCompile").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 Microsoft Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server 2005.

Target Platforms

For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server 2005.

See Also

Reference

ScriptTask Class
ScriptTask Members
Microsoft.SqlServer.Dts.Tasks.ScriptTask Namespace