次の方法で共有


ScriptTask.PreCompile Property

パッケージが保存されるときに VSA スクリプトがコンパイルされるかどうかを示す値を取得します。値の設定も可能です。

名前空間: Microsoft.SqlServer.Dts.Tasks.ScriptTask
アセンブリ: Microsoft.SqlServer.ScriptTask (microsoft.sqlserver.scripttask.dll 内)

構文

'宣言
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)

プロパティ値

パッケージが保存されるときに VSA スクリプトがコンパイルされる場合は true、コンパイルされない場合は false です。既定値は true です。

解説

パッケージを実行する前に VSA スクリプトをコンパイルする必要があります。スクリプト タスクには、パッケージが保存されるときに、スクリプトをバイナリ コードにプリコンパイルするオプションがあります。スクリプトがプリコンパイルされると、実行時に言語エンジンは読み込まれず、パッケージはより迅速に実行されます。ただし、コンパイルされたバイナリ ファイルは大量のディスク領域を使用します。プリコンパイルされていないスクリプトが実行時にコンパイルされると、パッケージの実行速度は低下しますが、ディスク領域の使用量が少なくなります。大容量のパッケージを保存しても問題にならない場合は、VSA スクリプトをプリコンパイルする必要があります。

使用例

コンソール アプリケーションで実装された次のコード サンプルでは、ScriptTask をパッケージに追加し、そのプロパティ (PreCompile プロパティを含む) の一部の既定値を表示します。

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

スレッド セーフ

この型の public static (Microsoft Visual Basic では共有 ) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。

プラットフォーム

開発プラットフォーム

サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。

対象プラットフォーム

サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。

参照

関連項目

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