設定 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 中 Data Transformation Services (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開啟 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;
}
|