LDAP ラッパー¶
Virtual DataPort は、LDAP サーバーに含まれるデータを抽出するためのラッパーの作成をサポートしています。このタイプのラッパーを作成するには、LDAP サーバーへのアクセスデータをカプセル化するデータソース名を指定する必要があります (DATASOURCENAME
パラメータ)。
抽出するデータを特定するためのオプションは 2 つあります。 OBJECTCLASSES
パラメータを使用して、ラッパーがアクセスする LDAP サーバー内のオブジェクトクラスのリストを指定できます。このオプションでは、サーバーへのリクエストは Virtual DataPort によってユーザーのクエリから自動的に生成されます。
また、ラッパーは、ソースに直接委任される式 (LDAPEXPRESSION
) から作成することもできます。この式は、あらかじめ定義された補間変数 WHEREEXPRESSION
(「 WHEREEXPRESSION の使用 」を参照) を含め、補間変数を保持できます。この変数は、単純クエリで OR
条件を LDAP サーバーに委任して、 NESTED
結合を最適化できることを忘れないでください。
このオプションで基本ビューを作成するには、式でアクセス可能なオブジェクトを 1 つ以上選択する必要があります。
必要に応じて、検索の種類を選択できます。再帰検索とルートノードレベルのみでの検索 (ルートノードはデータソース URL で指定) の 2 種類があります。デフォルトでは、再帰検索が選択されます。
RECURSIVESEARCH
が TRUE
の場合、LDAP クエリでは、データソースパスによって参照されているノードの下位にあるサブツリーのすべてのノードが再帰的に検索対象になります。 FALSE
の場合、LDAP クエリでは、ノード直下の子ノードのみが検索対象になります。
SINGLE-VALUE
が TRUE
の場合、基本ビューの多値属性は、その各値を 1 つのエレメントとする配列に変換されます。 FALSE
の場合、すべての値が .
を区切り文字として連結されます。
オプションで、他のラッパーと同様に、ラッパーによって返されるデータのスキーマを指定できます (OUTPUTSCHEMA
)。
ラッパー作成ステートメントには OR REPLACE
修飾子を指定することもできます。指定されると、同じ名前のラッパーがすでに存在する場合に、その定義が新しい定義で置き換えられます。
最後に、特定のラッパープロパティを指定できます (SOURCECONFIGURATION
)。Virtual DataPort は、ラッパーで実行できる操作を判別するためにこれらを考慮します。適用可能なプロパティは該当するステートメント宣言に示されています。詳細については、「 ラッパー構成プロパティ 」を参照してください。
CREATE [ OR REPLACE ] WRAPPER LDAP <name:identifier>
[ FOLDER = <literal> ]
DATASOURCENAME = <name:identifier>
OBJECTCLASSES = <name:literal> [, <name:literal> ]*
[ LDAPEXPRESSION = <name:literal> ]
[ RECURSIVESEARCH = { TRUE | FALSE } ]
[ SINGLE-VALUE = { TRUE | FALSE } ]
[ OUTPUTSCHEMA ( <field> [, <field> ]* ) ]
[ SOURCECONFIGURATION ( [ <source configuration property>
[, <source configuration property> ]* ] ) ]
<field> ::=
<name:identifier> [ = <mapping:literal> ] [ : <type:literal> ]
[ ( { OBL | OPT } ) ]
[ ( DEFAULTVALUE <literal> ) ]
[ EXTERN ]
[ <inline constraints> ]*
| <name:identifier> [ = <mapping:literal> ] : ARRAY OF ( <register field> )
[ ( DEFAULTVALUE <literal> ) ]
[ <inline constraints> ]*
| <name:register field>
<register field> ::=
<name:identifier> [ = <mapping:literal> ] :
REGISTER OF ( <field> [, <field> ]* )
[ ( DEFAULTVALUE <literal> ) ]
[ <inline constraints> ]*
<source configuration property> ::=
DATAINORDERFIELDSLIST = { DEFAULT | ( <name:identifier> { ASC | DESC }
[, <name:identifier> { ASC | DESC } ]* ) }
LDAP ラッパーの変更ステートメントの構文も同様です。
ALTER WRAPPER LDAP <name:identifier>
[ DATASOURCENAME = <name:identifier> ]
[ OBJECTCLASSES = <name:literal> [, <name:literal> ]* ]
[ LDAPEXPRESSION = <name:literal> ]
[ RECURSIVESEARCH = { TRUE | FALSE } ]
[ SINGLE-VALUE = { TRUE | FALSE } ]
[ OUTPUTSCHEMA ( <field> [, <field> ]* ) ]
[ SOURCECONFIGURATION ( [ <source configuration property>
[, <source configuration property> ]* ] ) ]
<field> ::= (「 CREATE WRAPPER LDAP ステートメントの構文 」を参照)
<source configuration property> ::= (「 CREATE WRAPPER LDAP ステートメントの構文 」を参照)