ユーザーガイド > データソースメタデータの取得 > リソースでのイントロスペクションフィルターの設定
 
リソースでのイントロスペクションフィルターの設定
データソースをイントロスペクトまたは再イントロスペクトするときに、フィルターを設定して、TDVが再イントロスペクションプロセスを実行する方法を制御できます。データソース、カタログ、またはスキーマレベルでフィルターを次のように設定できます。
カタログ、スキーマ、テーブル、またはプロシージャ名でフィルタリングします。
ワイルドカード文字を使用して名前をフィルタリングします。
イントロスペクション中に新しいリソースを検出します。
大文字と小文字を区別するモードでフィルタリングします。
フィルターは、APIまたはトリガーによる呼び出しか、スケジュールされた時刻や手動での呼び出しかにかかわらず、再イントロスペクション中に適用されます。フィルターは初回のイントロスペクションでは適用されず、再イントロスペクション時に適用されます。
注意: これらのフィルターは、リレーショナルデータソースでのみ使用できます。
リソースにイントロスペクションフィルターを設定するには
1.データソースのコンテキストメニューから[Add/Remove Resources(リソースの追加/削除)]を呼び出します。
2.[Data Source Introspection(データソースのイントロスペクト)]ウィンドウで、左側のリストからリソースを選択します。
3.必要に応じて、右側の[Properties(プロパティ)]タブで[Detect New Resources During Re-Introspection(再イントロスペクション中に新しいリソースを検出する)]をオンにします。
- このオプションをオンにすると、このイントロスペクション後に現在のリソースに追加された子リソースが、再イントロスペクション時に検出されます。
たとえば、現在のリソースがカタログで、このイントロスペクション後にスキーマを追加した場合、追加されたスキーマが再イントロスペクション時に検出されます。再イントロスペクションの詳細については、「イントロスペクションと再イントロスペクションについて」を参照してください。
- このオプションをオフにした場合、このイントロスペクション後に現在のリソースに追加される子リソースは再イントロスペクション時に検出されません
たとえば、現在のリソースがカタログで、このイントロスペクション後にスキーマを追加した場合、そのスキーマは再イントロスペクション時に検出されません。再イントロスペクションの詳細については、「データソースの再イントロスペクト」を参照してください。
4.必要に応じて、各リソースのフィルター設定を選択します。
右側の[Properties(プロパティ)]タブに表示されるフィルターは、データソース、カタログ、またはスキーマのいずれを選択したかによって異なります。たとえばリソースリストでカタログを選択した場合は、[New Resource Schema Name Filter(s)(新しいリソースのスキーマ名フィルター)]フィールドで、カタログ内のスキーマをフィルタリングするための値を指定できます。文字列SYSで始まるすべてのスキーマをフィルタリングするには、SYS%と入力します。
データソースの場合、次の図に示すフィルターが表示されます。選択したデータソースの[Properties(プロパティ)]タブには、カタログ、スキーマ、テーブル、プロシージャ、およびフォルダーの名前をフィルタリングするために使用できるワイルドカード記号が表示されます。スキーマの場合、表示されるフィルターが少なくなります。
[Properties(プロパティ)]タブに表示されるフィールドについて、以下で説明します。
フィールドまたはボタン
説明
[Wildcard Symbol for Single Character Match(1文字に一致するワイルドカード記号)]
1文字を表す記号。デフォルトの記号はアンダースコア(_)で、変更することはできません。たとえば、[Schema Name Filter(s)(スキーマ名フィルター)]フィールドに「ab_」と入力すると、abcやabdなどのスキーマ名と一致します。ここでのcまたはdはアンダースコアに代入されます。
[Wildcard Symbol for Zero or More Characters Match(0個以上の文字に一致するワイルドカード記号)]
0個以上の文字を表す記号。デフォルトはパーセント記号(%)で、変更することはできません。たとえば、[Schema Name Filter(s)(スキーマ名フィルター)]フィールドに「ab%」と入力すると、abc、abd、abなどのスキーマ名、および接頭辞としてabが付いたあらゆる名前と一致します。
[Escape Character for Wildcard Symbols(ワイルドカード記号のエスケープ文字)]
前の2つのフィールド([Wildcard Symbol for Single Character Match(1文字に一致するワイルドカード記号)]と[Wildcard Symbol for Zero or More Character Match(0個以上の文字に一致するワイルドカード記号)])で指定した記号をエスケープするための文字。デフォルトのエスケープ文字は円記号(\)で、変更することはできません。たとえば、シーケンスab\_cは、アンダースコア(_)をエスケープしてリソース名ab_cと一致します。
[Filter in Case-Sensitive Mode(大文字と小文字を区別するモードでフィルタリングする)]
大文字と小文字を区別するフィルターパターンを使用する場合はオンにします。
このオプションは、特定のデータソースでは使用できません。その場合、基になる物理データソースが大文字と小文字を区別するモードを決定し、イントロスペクションに対してそのリソースの名前もフィルタリングします。
[Separator for Each Filter(各フィルターのセパレーター)]
フィルターを分けるための記号。デフォルトのセパレーターはカンマ(,)です。たとえば、「orders, customers」と入力すると、ordersおよびcustomersのテーブル名と一致します。
[New Resource <resource type> Name Filter(s)(新しいリソースの<リソースタイプ>名フィルター)]
<リソースタイプ>は、リソースリストでの選択に応じて、カタログ、スキーマ、プロシージャ、またはテーブルのいずれかです。たとえば、カタログとスキーマはないがプロシージャとテーブルがあるデータソースを選択した場合、[Properties(プロパティ)]タブには[New Resource Table Name Filter(s)(新しいリソースのテーブル名フィルター)]と[New Resource Procedure Name Filter(s)(新しいリソースのプロシージャ名フィルター)]のみが表示されます。
[Properties(プロパティ)]タブにフィルターを入力して、フィルター条件を満たすリソースのみをイントロスペクトします。ワイルドカード記号、ワイルドカード記号のエスケープ文字、フィルターのセパレーターについては、前述の説明を参照してください。
フィルターが指定されていない場合、再イントロスペクション時にすべての新しいカタログ/スキーマ/プロシージャ/テーブル(およびそれらのコンテンツ)が追加されます。最初のイントロスペクションまたは手動イントロスペクション時に選択されなかった既存のリソースは、[New Resource Catalog <resource type> Name Filter(s)(新しいリソースのカタログ<リソースタイプ>名フィルター)]の文字列と一致する場合も、再イントロスペクション時に無視されます。[Add/Remove Resources(リソースの追加/削除)]を使用して、以前に無視されたリソースをいつでも追加できます。
たとえば、イントロスペクションでBZHANGが選択されておらず、再イントロスペクションフィルター「B%」がデータソースに設定されている場合、後続の再イントロスペクションではBで始まる新しいスキーマが検出されますが、BZHANGはイントロスペクトされません。
フィルターでは、[Find(検索)]フィールドと同じシリアル文字マッチングパターンは使用されません。これは、[Introspectable(イントロスペクト可能)]リストにのみ適用されます。文字列は、大文字と小文字の区別の設定と指定されたワイルドカード記号を使用して照合されます。
5.[Next(次へ)]をクリックします。
[Data Source Introspection(データソースのイントロスペクト)]概要ページにイントロスペクションのすべての変更(追加、削除、および更新)が一覧表示され、[Finish(終了)]ボタンをクリックすると実行されます。
- 黒のリソースはイントロスペクトされます。
- 緑のリソースは追加されます(それらの親リソースも緑色で表示されます)。
- グレーのリソースは削除されます。
概要の下部には、イントロスペクション中に適用されるルールとして、前のパネルで指定したチェックボックスの状態も表示されます。
6.[Finish(終了)]をクリックして、イントロスペクションを開始します。