DTS アプリケーション プロパティの設定
Integration Services で、引き続きデータ変換サービス (DTS) パッケージの実行が必要な場合に備えて、更新版の DTS ランタイム エンジンと更新版の DTS デザイナーの両方が提供されています。これらのコンポーネントの取得とインストールの詳細については、「データ変換サービス パッケージのサポートをインストールする方法」を参照してください。
ただし、SQL Server ツールでは、DTS の [パッケージのプロパティ] ダイアログ ボックスにあったアプリケーション全体の設定にはアクセスできなくなりました。これまで、これらの設定には、[データ変換サービス] ノードのポップアップ メニューで [プロパティ] を選択して起動する、SQL Server 2000 Enterprise Manager でアクセスできました。このトピックでは、これらの設定について説明します。また、編集可能なレジストリ エントリを編集して手動でこれらの設定を構成する方法、およびプログラムを使って DTS オブジェクト モデル内の該当メソッドを呼び出し、レジストリ エントリを変更することによりこれらの設定を構成する方法について説明します。
重要 |
---|
データ変換サービス (DTS) の使用は推奨されていません。詳細については、「データ変換サービス (DTS)」を参照してください。 |
DTS アプリケーション プロパティ
このトピックでは、次の DTS アプリケーション プロパティについて説明します。
キャッシュ : [キャッシュをオンにする] (チェック ボックス)
使用できるタスク、変換、スクリプト言語、および OLE DB プロバイダーの一覧をキャッシュして、パフォーマンスを向上させます。キャッシュ : [キャッシュを最新にする] (ボタン)
上に示したキャッシュの一覧を更新します。デザイナー : [DTS デザイナー内のマルチ フェーズ ポンプを表示する]
詳細設定オプションの表示を有効にし、"変換元データ前関数" または "変換失敗時" などの特定のフェーズのデータ変換を個別に構成できるようにします。デバッグ : [ジャストインタイム デバッギングを有効にする]
開発者によるカスタム タスクのデバッグを実行可能にします。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 (無効) に設定します。
[キャッシュをオンにする]
TasksCacheTransformationsCache
ScriptingLanguagesCache
OLEDBProvidersCache
[DTS デザイナー内のマルチ フェーズ ポンプを表示する]
DesignerSettings[ジャストインタイム デバッギングを有効にする]
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
[ジャストインタイム デバッギングを有効にする]
.JITDebug
次に示す DTS アプリケーション オプションを、プログラムにより有効または無効にするには、DTS Application オブジェクトの各値を、DTSDesignerSettings 列挙から適切な値に設定します。
有効 - DTSDesignerSettings.DTSDesigner_ShowMultiPhaseTransforms
無効 - DTSDesignerSettings.DTSDesigner_Default
- [DTS デザイナー内のマルチ フェーズ ポンプを表示する]
.DesignerSettings
[Meta Data Services への保存を有効にする] プロパティの値は、DTS オブジェクト モデルを使用して設定できません。このプロパティを設定するには、次のサンプルで示すように、.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;
}
|