设置 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(禁用):
启用高速缓存
TasksCacheTransformationsCache
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;
}
|