24.7 SEARCHファンクション
SEARCH
ファンクションは、LDAPリポジトリを検索します。結果は、表問合せで使用できるオブジェクト表の(dn, name, val)です。
構文
function search (
p_username IN VARCHAR2 DEFAULT NULL,
p_pass IN VARCHAR2 DEFAULT NULL,
p_auth_base IN VARCHAR2 DEFAULT NULL,
p_host IN VARCHAR2,
p_port IN NUMBER DEFAULT 389,
p_use_ssl IN VARCHAR2 DEFAULT 'N',
p_search_base IN VARCHAR2,
p_search_filter IN VARCHAR2,
p_scope IN BINARY_INTEGER DEFAULT SYS.DBMS_LDAP.SCOPE_SUBTREE,
p_timeout_sec IN BINARY_INTEGER DEFAULT 3,
p_attribute_names IN VARCHAR2 )
RETURN APEX_T_LDAP_ATTRIBUTES PIPELINED;
パラメータ
表24-7 SEARCHのパラメータ
パラメータ | 説明 |
---|---|
|
ユーザーのログイン名(匿名バインドの場合は |
|
|
|
|
|
LDAPサーバー・ホスト名。 |
|
LDAPサーバーのポート番号。 |
|
LDAPサーバーへのバインドでSSLを使用する場合は'Y'を設定します。一方向認証(Oracleウォレットで構成されるLDAPサーバー証明書が必要)でSSLを使用する場合は'A'を設定します。SSLを使用しない場合は'N'を設定します(デフォルト)。 |
|
検索用のdnベース。 |
|
LDAP検索フィルタ式。 |
|
検索範囲(デフォルトはサブツリーに下降)。 |
|
検索のタイムアウト(デフォルトは3秒) |
|
戻り属性名のカンマ区切りのリスト |
例1
SELECT val group_dns
FROM table(apex_ldap.search (
p_host => 'ldap.example.com',
p_search_base => 'dc=example,dc=com',
p_search_filter => 'uid='||apex_escape.ldap_search_filter(:APP_USER),
p_attribute_names => 'memberof' ));
例2
SELECT dn, mail, dispname, phone
from ( select dn, name, val
from table(apex_ldap.search (
p_host => 'ldap.example.com',
p_search_base => 'dc=example,dc=com',
p_search_filter => '&(objectClass=person)(ou=Test)',
p_attribute_names => 'mail,displayname,telephonenumber' )))
pivot (min(val) for name in ( 'mail' mail,
'displayname' dispname,
'telephonenumber' phone ))
親トピック: APEX_LDAP