設定 DTS 應用程式屬性

針對仍需要執行 Data Transformation Services (DTS) 封裝的 Integration Services 使用者,Microsoft 同時提供更新版本的 DTS 執行階段引擎,以及更新版本的 DTS 設計師。如需有關取得與安裝這些元件的資訊,請參閱<如何:安裝 Data Transformation Services 封裝的支援>。

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

重要事項重要事項

Data Transformation Services (DTS) 已被取代。如需詳細資訊,請參閱<Data Transformation Services (DTS)>。

DTS 應用程式屬性

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

  • 快取:開啟快取 (核取方塊)
    用於改進效能之可用工作、轉換、指令碼語言和 OLE DB 提供者的快取清單。

  • 快取:重新整理快取 (按鈕)
    重新整理上述快取清單。

  • 設計師:在 DTS 設計師中顯示多階段幫浦
    可顯示進階選項,而這些選項可容許進行個別設定資料轉換的特定階段 (例如「前置來源資料」或「轉換失敗時」)。

  • 偵錯:開啟 Just-In-Time 偵錯
    可偵錯開發者的自訂工作。

  • Meta Data Services:可儲存至 Meta Data Services
    允許將封裝儲存至 Meta Data Services (儲存機制)。

[!附註]

SQL Server 中的儲存機制支援有所限制。如需詳細資訊,請參閱<SQL Server 2008 R2 中 SQL Server 2000 DTS 的支援>中的「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

[!附註]

透過編輯登錄值,並無法重新整理快取。快取只有透過程式設計方式才可重新整理。

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

  • 可儲存至 Meta Data Services
    EnableSaveToRepository
警告注意事項注意

啟用 [可儲存至 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] 選項的值。在 DTS 物件模型中,沒有 [可儲存至 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;

  }
Integration Services 圖示 (小) 掌握 Integration Services 的最新狀態

若要取得 Microsoft 的最新下載、文件、範例和影片以及社群中的選定解決方案,請瀏覽 MSDN 或 TechNet 上的 Integration Services 頁面:

若要得到這些更新的自動通知,請訂閱該頁面上所提供的 RSS 摘要。