26.19 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;
パラメータ
パラメータ | 説明 |
---|---|
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;
親トピック: APEX_ESCAPE