共用方式為


設定 DTS 應用程式屬性

新增: 2005 年 12 月 5 日

針對仍需要執行 SQL Server 2000 Data Transformation Services (DTS) 封裝的 SQL Server 2005 Integration Services (SSIS) 使用者,Microsoft 提供更新版本的 DTS 執行階段引擎作為 SQL Server 2005 Integration Services (SSIS) 安裝程式的一部份,並提供更新版本的 DTS 設計師作為 Web 下載項目。SQL Server 2005 工具幾乎可透過類似的設計師和執行階段引擎,來提供所有 DTS 功能的存取權。

然而,SQL Server 2005 工具不再提供 DTS [封裝屬性] 對話方塊中之應用程式通用設定的存取權,但只要從 [Data Transformation Services] 節點的快顯功能表中選取 [屬性],即可在 SQL Server 2000 Enterprise Manager 中存取此對話方塊。此主題描述這些設定,以及如何以手動方式 (方法是編輯適用的登錄項目) 或以程式設計方式 (方法是呼叫 DTS 物件模型中可為您修改登錄項目的對應方法) 來設定它們。

DTS 應用程式屬性

此主題中會討論下列 DTS 應用程式屬性:

  • 快取:開啟快取 (核取方塊)
    用來改進效能之可用工作、轉換、指令碼語言和 OLE DB 提供者的快取清單。
  • 快取:重新整理快取 (按鈕)
    重新整理上述快取清單。
  • 設計師:在 DTS 設計師中顯示多階段幫浦
    可顯示進階選項,而這些選項可容許進行個別設定資料轉換的特定階段 (例如「前置來源資料」或「轉換失敗時」)。
  • 偵錯:開啟 Just-In-Time 偵錯
    可偵錯開發者的自訂工作。
  • Meta Data Services:可儲存至 Meta Data Services
    允許將封裝儲存至 Meta Data Services (儲存機制)。
ms345198.note(zh-tw,SQL.90).gif附註:
SQL Server 2005 中的儲存機制支援有所限制。如需詳細資訊,請參閱<SQL Server 2005 Integration Services 回溯相容性>中的「Meta Data Services (儲存機制) 封裝」一節。

在登錄中設定 DTS 應用程式屬性

若要直接修改登錄以手動啟用或停用下列 DTS 應用程式屬性,請將父機碼 HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server\80\DTS\Settings 之下的下列 REG_DWORD 值設定為 0 (啟用) 或 1 (停用):

  • 開啟快取
    TasksCache

    TransformationsCache

    ScriptingLanguagesCache

    OLEDBProvidersCache

  • 在 DTS 設計師中顯示多階段幫浦
    DesignerSettings
  • 開啟 Just-In-Time 偵錯
    JITDebug
ms345198.note(zh-tw,SQL.90).gif附註:
透過編輯登錄值,並無法重新整理快取。快取只有透過程式設計方式才可重新整理。

若要直接修改登錄以手動啟用或停用下列 DTS 應用程式屬性,請將父機碼 HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\80\DTS\Settings 之下的下列 REG_DWORD 值設定為 0 (啟用) 或 1 (停用):

  • 可儲存至 Meta Data Services
    EnableSaveToRepository
ms345198.Caution(zh-tw,SQL.90).gif注意:
啟用 [可儲存至 Meta Data Services] 屬性時,[封裝屬性] 對話方塊會顯示下列警告:「警告: 不應將儲存至 Meta Data Services 的封裝視為安全。您確定要將封裝儲存至 Meta Data Services 嗎?」

範例登錄指令碼

下列登錄指令碼 (儲存成副檔名為 .reg 的文字檔並執行時) 可啟用在此主題中所討論的所有 DTS 應用程式屬性。若是改為停用屬性,請將新值從 00000001 變更為 00000000。

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server\80\DTS\Settings]
"TasksCache"=dword:00000001
"TransformationsCache"=dword:00000001
"ScriptingLanguagesCache"=dword:00000001
"OLEDBProvidersCache"=dword:00000001
"DesignerSettings"=dword:00000001
"JITDebug"=dword:00000001

[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\80\DTS\Settings]
"EnableSaveToRepository"=dword:00000001

在 DTS 物件模型中設定 DTS 應用程式屬性

若要以程式設計方式啟用或停用下列 DTS 應用程式屬性,請將下列 DTS Application 物件值設為 True (啟用) 或 False (停用)。

  • 開啟快取
    .TaskInfos.UseCache

    .TransformationInfos.UseCache

    .ScriptingLanguageInfos.UseCache

    .OLEDBProviderInfos.UseCache

  • 開啟 Just-In-Time 偵錯
    .JITDebug

若要以程式設計方式啟用或停用下列 DTS 應用程式選項,請將下列 DTS Application 物件值設為 DTSDesignerSettings 列舉中的適當值:

  • 已啟用 - DTSDesignerSettings.DTSDesigner_ShowMultiPhaseTransforms
  • 已停用 - DTSDesignerSettings.DTSDesigner_Default
  • 在 DTS 設計師中顯示多階段幫浦
    .DesignerSettings

不可使用 DTS 物件模型來設定 [可儲存至 Meta Data Services] 屬性的值。而使用 .NET Framework 類別庫之 Microsoft.Win32 命名空間中的 Registry 類別,即可設定這個屬性 (如下列範例所示)。

範例程式碼

下列主控台應用程式的程式碼範例 (編譯並執行時) 會啟用此主題中所討論的所有 DTS 應用程式屬性。若要改為停用選項,請將新值從 True 變更為 False,並將 DesignerSettings 屬性值變更為 DTSDesignerSettings.DTSDesigner_Default

這個應用程式需要參考 Microsoft DTSPackage Object Library (COM)。

只有直接修改登錄,才可設定 [可儲存至 Meta Data Services] 選項的值。

Imports Microsoft.Win32
Imports DTS

Module SetDTSProperties

  Sub Main()

    Const SETTINGS_ROOT_KEY As String = "Software\Microsoft\Microsoft SQL Server\80\DTS\Settings"
    Const METADATASERVICES_VALUE As String = "EnableSaveToRepository"

    Dim dtsApp As New DTS.Application
    Dim keySettingsRoot As RegistryKey

    With dtsApp
      .TaskInfos.UseCache = True
      .TransformationInfos.UseCache = True
      .ScriptingLanguageInfos.UseCache = True
      .OLEDBProviderInfos.UseCache = True
      .DesignerSettings = DTSDesignerSettings.DTSDesigner_ShowMultiPhaseTransforms
      .JITDebug = True
    End With

    keySettingsRoot = Registry.LocalMachine.OpenSubKey(SETTINGS_ROOT_KEY, True)
    If keySettingsRoot Is Nothing Then
      keySettingsRoot = Registry.LocalMachine.CreateSubKey(SETTINGS_ROOT_KEY)
    End If
    With keySettingsRoot
      .SetValue(METADATASERVICES_VALUE, Math.Abs(CType(True, Integer)))
      .Close()
    End With

  End Sub

End Module
using Microsoft.Win32;
using DTS;

class SetDTSProperties
{

  public static void Main()
  {

    const string SETTINGS_ROOT_KEY = "Software\\Microsoft\\Microsoft SQL Server\\80\\DTS\\Settings";
    const string METADATASERVICES_VALUE = "EnableSaveToRepository";

    DTS.Application dtsApp = new DTS.Application();
    RegistryKey keySettingsRoot;

    {
      dtsApp.TaskInfos.UseCache = true;
      dtsApp.TransformationInfos.UseCache = true;
      dtsApp.ScriptingLanguageInfos.UseCache = true;
      dtsApp.OLEDBProviderInfos.UseCache = true;
      dtsApp.DesignerSettings = DTSDesignerSettings.DTSDesigner_ShowMultiPhaseTransforms;
      dtsApp.JITDebug = true;
    }

    keySettingsRoot = Registry.LocalMachine.OpenSubKey(SETTINGS_ROOT_KEY, true);
    if (keySettingsRoot==null)
    {
      keySettingsRoot = Registry.LocalMachine.CreateSubKey(SETTINGS_ROOT_KEY);
    }
    {
      keySettingsRoot.SetValue(METADATASERVICES_VALUE, Math.Abs((int) true));
      keySettingsRoot.Close();
    }

  }

}

可將下列副程式加入應用程式中,以適當地重新整理快取。快取的值會儲存在登錄的 HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server\80\DTS\Enumeration 之下。

  Private Sub RefreshCache()

    Me.Cursor = Cursors.WaitCursor
    With dtsApp
      .TaskInfos.Refresh()
      .TransformationInfos.Refresh()
      .ScriptingLanguageInfos.Refresh()
      .OLEDBProviderInfos.Refresh()
    End With
    Me.Cursor = Cursors.Default

  End Sub
  private void RefreshCache()
  {

    this.Cursor = Cursors.WaitCursor;
    {
      dtsApp.TaskInfos.Refresh();
      dtsApp.TransformationInfos.Refresh();
      dtsApp.ScriptingLanguageInfos.Refresh();
      dtsApp.OLEDBProviderInfos.Refresh();
    }
    this.Cursor = Cursors.Default;

  }

請參閱

概念

SQL Server 2005 Integration Services 回溯相容性
升級或移轉 Data Transformation Services

說明及資訊

取得 SQL Server 2005 協助