29.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;パラメータ
表29-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