プライマリ・コンテンツに移動

Oracle® Application Express APIリファレンス リリース5.1 E85937-02 |
| 目次 | 索引

前 | 次 |

# 9.9 LDAP_SEARCH_FILTERファンクション

`LDAP_SEARCH_FILTER`ファンクションは、RFC 4515に従って、LDAP検索フィルタの予約文字をエスケープします。RFCでは、*()\/は予約文字であると説明されています(`p_reserved_chars`を参照)。これらの印字できない文字(ASCII 0 - 31)およびコード> 127を持つ文字(`p_escape_non_ascii`を参照)は、`\xx`(`xx`は16進文字コード)としてエスケープされます。

構文

    APEX_ESCAPE.LDAP_SEARCH_FILTER (
        p_string              IN VARCHAR2,
        p_reserved_chars    IN VARCHAR2 DEFAULT c_ldap_search_reserved_chars,
        p_escape_non_ascii IN BOOLEAN DEFAULT TRUE )
        return VARCHAR2;

パラメータ

表9-10 LDAP_SEARCH_FILTERファンクションのパラメータ

パラメータ | 説明
--- | ---
`p_string` | エスケープされるテキスト文字列。
`p_reserved_chars` | `p_string`に含まれる場合に、`\xx`でエスケープされる文字のリスト(`\xx`は、文字のASCIIの16進コードを表します)。
`p_escape_non_ascii` | TRUEの場合、`p_string`でASCII 127を超える文字は`\xx`でエスケープされます(`xx`は、その文字のASCIIの16進コードを表します)。これはRFC 4514でサポートされますが、古いLDAPサーバーおよびMicrosoft ADでは、エラーが発生することがあります。

例

この例では、`l_name`のテキストをエスケープし、結果を`l_escaped`に移動します。

    declare
    l_name varchar2(4000) := 'Joe*User';
    l_escaped varchar2(4000);
    begin
        l_escaped := apex_escape.ldap_search_filter(l_name);
        htp.p(l_name||' becomes '||l_escaped);
    end;

注意:

LDAP_DNファンクション