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

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

前 | 次 |

# 9.8 LDAP_DNファンクション

`LDAP_DN`ファンクションは、RFC 4514に従って、LDAP識別名の予約文字をエスケープします。RFCでは、"+,;<=>\は予約文字であると説明されています(`p_reserved_chars`を参照)。これらは、バックスラッシュによってエスケープされます(「becomes \」など)。印字できない文字ASCII 0 - 31およびコード> 127を持つ文字(`p_escape_non_ascii`を参照)は、`\xx`(`xx`は16進文字コード)としてエスケープされます。文字列の先頭または末尾のスペース文字および先頭の#も、バックスラッシュでエスケープされます。

構文

    APEX_ESCAPE.LDAP_DN (
        p_string IN VARCHAR2,
        p_reserved_chars IN VARCHAR2 DEFAULT c_ldap_dn_reserved_chars,
        p_escaped_non_ascii IN BOOLEAN DEFAULT TRUE )
        return VARCHAR2;

パラメータ

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

パラメータ | 説明
--- | ---
`p_string` | エスケープされるテキスト文字列。
`p_reserved_chars` | `p_string`に含まれる場合に、バックスラッシュでエスケープされる文字のリスト。
`p_escaped_non_ascii` | TRUEの場合、`p_string`でASCII 127を超える文字はバックスラッシュでエスケープされます。これはRFC 4514およびRFC 2253でサポートされますが、古いLDAPサーバーおよびMicrosoft ADでは、エラーが発生することがあります。

例

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

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

注意:

LDAP_SEARCH_FILTERファンクション