设置 DTS 应用程序属性

对于仍需运行 Data Transformation Services (DTS) 包的 Integration Services 用户,Microsoft 同时提供 DTS 运行时引擎的更新版本和 DTS 设计器的更新版本。有关获取和安装这些组件的信息,请参阅如何安装 Data Transformation Services 包的支持组件

但是,SQL Server 工具不再提供对 DTS**“包属性”对话框中应用程序范围内设置的访问,该对话框可通过在 SQL Server 2000 企业管理器中选择 Data Transformation Services 节点的弹出菜单上的“属性”**来访问。本主题介绍了这些设置并说明了如何以手动方式(通过编辑适用的注册表项)或编程方式(通过在可修改注册表项的 DTS 对象模型中调用相应的方法)配置这些设置。

重要说明重要提示

不推荐使用 Data Transformation Services (DTS)。有关详细信息,请参阅 Data Transformation Services (DTS)

DTS 应用程序属性

本主题中讨论了以下 DTS 应用程序属性:

  • 高速缓存:启用高速缓存(复选框)
    缓存可用任务、转换、脚本语言以及 OLE DB 访问接口的列表,以提高性能。

  • 高速缓存:刷新高速缓存(按钮)
    刷新上述缓存列表。

  • 设计器:在 DTS 设计器中显示多阶段抽取
    启用高级选项的显示,这些选项允许单独配置数据转换的特定阶段(如“源数据前”或“转换失败时”)的高级选项的显示。

  • 调试:启用实时调试
    为自定义任务的开发人员启用调试。

  • 元数据服务:允许保存到元数据服务
    允许将包保存到元数据服务(存储库)。

注意注意

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

  • 启用实时调试
    JITDebug

注意注意

不能通过编辑注册表值来刷新高速缓存。只能以编程方式来刷新高速缓存。

若要通过直接修改注册表来手动启用或禁用以下 DTS 应用程序属性,请在父键 HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\80\DTS\Settings 下将以下 REG_DWORD 值设置为 0(启用)或 1(禁用):

  • 允许保存到元数据服务
    EnableSaveToRepository
注意事项注意

当启用“允许保存到元数据服务”属性时,“包属性”对话框将显示以下警告:“警告: 保存到元数据服务的包应视为不安全。确实要允许将包保存到元数据服务吗?”

示例注册表脚本

将以下注册表脚本保存到扩展名为 .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

  • 启用实时调试
    .JITDebug

若要以编程方式启用或禁用以下 DTS 应用程序选项,请将 DTS Application 对象的下列值设置为 DTSDesignerSettings 枚举中的相应值:

  • 启用 - DTSDesignerSettings.DTSDesigner_ShowMultiPhaseTransforms

  • 禁用 - DTSDesignerSettings.DTSDesigner_Default

  • 在 DTS 设计器中显示多阶段抽取
    .DesignerSettings

使用 DTS 对象模型无法设置**“允许保存到元数据服务”**属性的值。可以使用 .NET Framework 类库的 Microsoft.Win32 命名空间中的 Registry 类来设置该属性,如以下示例所示。

示例代码

当编译并运行以下用于控制台应用程序的示例代码时,可启用此主题中讨论的所有 DTS 应用程序属性。若要禁用这些选项,请将新值从 True 更改为 False,并将 DesignerSettings 属性的值更改为 DTSDesignerSettings.DTSDesigner_Default。

该应用程序要求引用 Microsoft DTSPackage Object Library (COM)。

只能通过直接修改注册表来设置**“允许保存到元数据服务”选项的值。在 DTS 对象模型中,没有与“允许保存到元数据服务”**选项等效的选项。

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 源。