| Oracle® Fusion Middleware Oracle Identity Managementアプリケーション開発者ガイド 11g リリース1(11.1.1) B56242-05  | 
  | 
![]() 前  | 
![]() 次  | 
Oracleの拡張機能のユーティリティ・ファンクションが含まれているDBMS_LDAP_UTLパッケージに関するリファレンス情報を示します。この章では、次の項目について説明します。
表11-1 DBMS_LDAP_UTLのユーザー関連サブプログラム
| ファンクションまたはプロシージャ | 用途 | 
|---|---|
| 
 Lightweight Directory Access Protocol(LDAP)サーバーに対してユーザーを認証します。  | 
|
| 
 | 
 ユーザー・ハンドルを作成します。  | 
| 
 set_user_handle_propertiesファンクション  | 
 指定したプロパティをユーザー・ハンドルに関連付けます。  | 
| 
 | 
 LDAPサーバーからユーザー・プロパティを取得します。  | 
| 
 | 
 ユーザーのプロパティを変更します。  | 
| 
 get_user_extended_propertiesファンクション  | 
 ユーザーの拡張プロパティを取得します。  | 
| 
 | 
 ユーザーの識別名を取得します。  | 
| 
 | 
 ユーザーが、指定されたグループのメンバーであるかどうかをチェックします。  | 
| 
 locate_subscriber_for_userファンクション  | 
 指定したユーザーのサブスクライバを取得します。  | 
| 
 | 
 ユーザーがメンバーとなっているグループのリストを取得します。  | 
表11-2 DBMS_LDAP_UTLのグループ関連サブプログラム
| ファンクションまたはプロシージャ | 用途 | 
|---|---|
| 
 グループ・ハンドルを作成します。  | 
|
| 
 set_group_handle_propertiesファンクション  | 
 指定したプロパティをグループ・ハンドルに関連付けます。  | 
| 
 | 
 LDAPサーバーからグループ・プロパティを取得します。  | 
| 
 | 
 グループの識別名を取得します。  | 
表11-3 DBMS_LDAP_UTLのサブスクライバ関連サブプログラム
| ファンクションまたはプロシージャ | 用途 | 
|---|---|
| 
 create_subscriber_handleファンクション  | 
 サブスクライバ・ハンドルを作成します。  | 
| 
 get_subscriber_propertiesファンクション  | 
 LDAPサーバーからサブスクライバ・プロパティを取得します。  | 
| 
 | 
 サブスクライバの識別名を取得します。  | 
表11-4 DBMS_LDAP_UTLのその他のサブプログラム
| ファンクションまたはプロシージャ | 用途 | 
|---|---|
| 
 | 
 識別名の文字列を正規化します。  | 
| 
 | 
 
  | 
| 
 | 
 プロパティ名の値リストを取得します。  | 
| 
 get_property_values_blobファンクション  | 
 プロパティ名のラージ・バイナリ値のリストを取得します。  | 
| 
 property_value_free_blobプロシージャ  | 
 
  | 
| 
 get_property_values_lenファンクション  | 
 プロパティ名のバイナリ値のリストを取得します。  | 
| 
 free_propertyset_collectionプロシージャ  | 
 
  | 
| 
 | 
 
  | 
| 
 populate_mod_propertysetファンクション  | 
 
  | 
| 
 | 
 
  | 
| 
 | 
 ハンドルを解放します。  | 
| 
 check_interface_versionファンクション  | 
 インタフェースのバージョンに関するサポートをチェックします。  | 
この項の項目は次のとおりです。
ユーザーはDBMS_LDAP_UTL.HANDLEデータ型で表現されます。適切なサブスクライバ・ハンドルの作成に加え、識別名、GUIDまたは単純な名前を使用してユーザー・ハンドルを作成できます。単純な名前を使用すると、ルートのOracleコンテキストおよびサブスクライバのOracleコンテキストの追加情報がユーザーの識別に使用されます。次の例は、ユーザー・ハンドルの作成方法を示しています。
retval := DBMS_LDAP_UTL.create_user_handle( user_handle, DBMS_LDAP_UTL.TYPE_DN, "cn=user1,cn=users,o=example,dc=com" );
ユーザー・ハンドルは、適切なサブスクライバ・ハンドルに関連付ける必要があります。たとえば、subscriber_handleがo=example,dc=comの場合、サブスクライバ・ハンドルを次の方法で関連付けることができます。
retval := DBMS_LDAP_UTL.set_user_handle_properties( user_handle, DBMS_LDAP_UTL.SUBSCRIBER_HANDLE, subscriber_handle );
ユーザー・ハンドルの一般的な用途としては、ユーザー・プロパティの設定と取得、ユーザーの認証などがあります。次に、ユーザーを認証するハンドルを示します。
retval := DBMS_LDAP_UTL.authenticate_user( my_session user_handle DBMS_LDAP_UTL.AUTH_SIMPLE, "welcome" NULL );
この例では、ユーザーはクリアテキストのパスワードwelcomeを使用して認証されます。
次に、ユーザーの電話番号を取得するハンドルを示します。
--my_attrs is of type DBMS_LDAP.STRING_COLLECTION my_attrs(1) :='telephonenumber'; retval := DBMS_LDAP_UTL.get_user_properties( my_session, my_attrs, DBMS_LDAP_UTL.ENTRY_PROPERTIES, my_pset_coll );
authenticate_user()ファンクションでは、Oracle Internet Directoryに対してユーザーを認証します。
構文
FUNCTION authenticate_user ( ld IN SESSION, user_handle IN HANDLE, auth_type IN PLS_INTEGER, credentials IN VARCHAR2, binary_credentials IN RAW ) RETURN PLS_INTEGER;
パラメータ
表11-5 authenticate_userファンクションのパラメータ
| パラメータ名 | パラメータ・タイプ | パラメータの説明 | 
|---|---|---|
ld  | 
SESSION  | 
 有効なLDAPセッション・ハンドルです。  | 
user_handle  | 
HANDLE  | 
 ユーザー・ハンドルです。  | 
auth_type  | 
PLS_INTEGER  | 
 認証のタイプ。有効な値は  | 
credentials  | 
VARCHAR2  | 
 ユーザー資格証明。  | 
binary_credentials  | 
RAW  | 
 バイナリ資格証明。このパラメータはオプションです。デフォルトで  | 
戻り値
表11-6 authenticate_userファンクションの戻り値
| 値 | 説明 | 
|---|---|
DBMS_LDAP_UTL.SUCCESS  | 
 正常終了した場合の戻り値です。  | 
DBMS_LDAP_UTL.PARAM_ERROR  | 
 入力パラメータが無効です。  | 
DBMS_LDAP_UTL.GENERAL_ERROR  | 
 認証に失敗しました。  | 
DBMS_LDAP_UTL.NO_SUCH_USER  | 
 ユーザーが存在しません。  | 
DBMS_LDAP_UTL.MULTIPLE_USER_ENTRIES  | 
 ユーザーが複数の識別名エントリを持ちます。  | 
DBMS_LDAP_UTL.INVALID_SUBSCRIBER_ORCL_CTX  | 
 サブスクライバのOracleコンテキストが無効です。  | 
DBMS_LDAP_UTL.NO_SUCH_SUBSCRIBER  | 
 サブスクライバが存在しません。  | 
DBMS_LDAP_UTL.MULTIPLE_SUBSCRIBER_ENTRIES  | 
 サブスクライバが複数の識別名エントリを持ちます。  | 
DBMS_LDAP_UTL.INVALID_ROOT_ORCL_CTX  | 
 ルートのOracleコンテキストが無効です。  | 
DBMS_LDAP_UTL.ACCT_TOTALLY_LOCKED_EXCP  | 
 ユーザー・アカウントがロックされています。  | 
DBMS_LDAP_UTL.AUTH_PASSWD_CHANGE_WARN  | 
 この戻り値は非推奨です。  | 
DBMS_LDAP_UTL.AUTH_FAILURE_EXCP  | 
 認証に失敗しました。  | 
DBMS_LDAP_UTL.PWD_EXPIRED_EXCP  | 
 ユーザー・パスワードが期限切れです。  | 
DBMS_LDAP_UTL.PWD_GRACELOGIN_WARN  | 
 ユーザーの猶予期間ログインです。  | 
| 
 DBMS_LDAPエラー・コード  | 
 LDAP操作中に発生した無条件の障害に対して、適切な  | 
使用方法
このファンクションは、DBMS_LDAP.init()のコールで有効なLDAPセッションを取得してからコールしてください。
関連項目
DBMS_LDAP.init()、DBMS_LDAP_UTL.create_user_handle()。
create_user_handle()ファンクションでは、ユーザー・ハンドルを作成します。
構文
FUNCTION create_user_handle ( user_hd OUT HANDLE, user_type IN PLS_INTEGER, user_id IN VARCHAR2, ) RETURN PLS_INTEGER;
パラメータ
表11-7 CREATE_USER_HANDLEファンクションのパラメータ
| パラメータ名 | パラメータ・タイプ | パラメータの説明 | 
|---|---|---|
user_hd  | 
HANDLE  | 
 ユーザーのハンドルへのポインタです。  | 
user_type  | 
PLS_INTEGER  | 
 渡されるユーザーIDのタイプ。この引数に有効な値は、次のとおりです。 
  | 
user_id  | 
VARCHAR2  | 
 ユーザー・エントリを表すユーザーIDです。  | 
戻り値
表11-8 CREATE_USER_HANDLEファンクションの戻り値
| 値 | 説明 | 
|---|---|
DBMS_LDAP_UTL.SUCCESS  | 
 正常終了した場合の戻り値です。  | 
DBMS_LDAP_UTL.PARAM_ERROR  | 
 入力パラメータが無効です。  | 
DBMS_LDAP_UTL.GENERAL_ERROR  | 
 その他のエラーです。  | 
関連項目
DBMS_LDAP_UTL.get_user_properties()、DBMS_LDAP_UTL.set_user_handle_properties()。
set_user_handle_properties()ファンクションでは、ユーザー・ハンドルのプロパティを構成します。
構文
FUNCTION set_user_handle_properties ( user_hd IN HANDLE, property_type IN PLS_INTEGER, property IN HANDLE ) RETURN PLS_INTEGER;
パラメータ
表11-9 SET_USER_HANDLE_PROPERTIESファンクションのパラメータ
| パラメータ名 | パラメータ・タイプ | パラメータの説明 | 
|---|---|---|
user_hd  | 
HANDLE  | 
 ユーザーのハンドルへのポインタです。  | 
property_type  | 
PLS_INTEGER  | 
 渡されるプロパティのタイプ。この引数に有効な値は  | 
property  | 
HANDLE  | 
 ユーザー・エントリを記述するプロパティです。  | 
戻り値
表11-10 SET_USER_HANDLE_PROPERTIESファンクションの戻り値
| 値 | 説明 | 
|---|---|
DBMS_LDAP_UTL.SUCCESS  | 
 正常終了した場合の戻り値です。  | 
DBMS_LDAP_UTL.PARAM_ERROR  | 
 入力パラメータが無効です。  | 
DBMS_LDAP_UTL.RESET_HANDLE  | 
 コール元が既存のハンドル・プロパティをリセットしようとした場合の戻り値です。  | 
DBMS_LDAP_UTL.GENERAL_ERROR  | 
 その他のエラーです。  | 
使用方法
ユーザー・ハンドルが、TYPE_DNまたはTYPE_GUIDのユーザー・タイプで作成されている場合は、サブスクライバ・ハンドルをユーザー・ハンドルのプロパティに設定する必要はありません。
関連項目
DBMS_LDAP_UTL.get_user_properties()。
get_user_properties()ファンクションでは、ユーザー・プロパティを取得します。
構文
FUNCTION get_user_properties ( ld IN SESSION, user_handle IN HANDLE, attrs IN STRING_COLLECTION, ptype IN PLS_INTEGER, ret_pset_coll OUT PROPERTY_SET_COLLECTION ) RETURN PLS_INTEGER;
パラメータ
表11-11 GET_USER_PROPERTIESファンクションのパラメータ
| パラメータ名 | パラメータ・タイプ | パラメータの説明 | 
|---|---|---|
ld  | 
SESSION  | 
 有効なLDAPセッション・ハンドルです。  | 
user_handle  | 
HANDLE  | 
 ユーザー・ハンドルです。  | 
attrs  | 
STRING_COLLECTION  | 
 取得するユーザー属性のリストです。  | 
ptype  | 
PLS_INTEGER  | 
 戻すプロパティのタイプ。有効な値は次のとおりです。 
  | 
ret-pset_collection  | 
PROPERTY_SET_COLLECTION  | 
 コール元がリクエストした属性に含まれているユーザーの詳細です。  | 
戻り値
表11-12 GET_USER_PROPERTIESファンクションの戻り値
| 値 | 説明 | 
|---|---|
DBMS_LDAP_UTL.SUCCESS  | 
 正常終了した場合の戻り値です。  | 
DBMS_LDAP_UTL.PARAM_ERROR  | 
 入力パラメータが無効です。  | 
DBMS_LDAP_UTL.NO_SUCH_USER  | 
 ユーザーが存在しません。  | 
DBMS_LDAP_UTL.MULTIPLE_USER_ENTRIES  | 
 ユーザーが複数の識別名エントリを持ちます。  | 
DBMS_LDAP_UTL.INVALID_ROOT_ORCL_CTX  | 
 ルートのOracleコンテキストが無効です。  | 
DBMS_LDAP_UTL.GENERAL_ERROR  | 
 その他のエラーです。  | 
| 
 DBMS_LDAPエラー・コード  | 
 LDAP操作中に発生した無条件の障害に対して、適切な  | 
使用方法
このファンクションには、次の要件があります。
有効なLDAPセッション・ハンドル。これはDBMS_LDAP.init()ファンクションで取得する必要があります。
ユーザーのタイプがDBMS_LDAP_UTL.TYPE_NICKNAMEの場合は、グループ・ハンドルのプロパティに有効なサブスクライバ・ハンドルの設定が必要です。
このファンクションは、NULLのサブスクライバ・ハンドルをデフォルト・サブスクライバとして識別しません。デフォルト・サブスクライバは、引数にNULLのsubscriber_idが渡されるDBMS_LDAP_UTL.create_subscriber_handle()で取得できます。
グループ・タイプがDBMS_LDAP_UTL.TYPE_GUIDまたはDBMS_LDAP_UTL.TYPE_DNの場合は、サブスクライバ・ハンドルをユーザー・ハンドルのプロパティに設定する必要はありません。サブスクライバ・ハンドルが設定されている場合、サブスクライバ・ハンドルは無視されます。
関連項目
DBMS_LDAP.init()、DBMS_LDAP_UTL.create_user_handle()。
set_user_properties()ファンクションでは、ユーザーのプロパティを変更します。
構文
FUNCTION set_user_properties ( ld IN SESSION, user_handle IN HANDLE, pset_type IN PLS_INTEGER, mod_pset IN PROPERTY_SET, mod_op IN PLS_INTEGER ) RETURN PLS_INTEGER;
パラメータ
表11-13 SET_USER_PROPERTIESファンクションのパラメータ
| パラメータ名 | パラメータ・タイプ | 説明 | 
|---|---|---|
ld  | 
SESSION  | 
 有効なLDAPセッション・ハンドルです。  | 
user_handle  | 
HANDLE  | 
 ユーザー・ハンドルです。  | 
pset_type  | 
PLS_INTEGER  | 
 変更するプロパティ・セットのタイプ。有効な値は  | 
mod_pset  | 
PROPERTY_SET  | 
 プロパティ・セットに対して実行する変更操作が含まれているデータ構造です。  | 
mod_op  | 
PLS_INTEGER  | 
 プロパティ・セットに対して実行する変更操作のタイプ。有効な値は次のとおりです。 
  | 
戻り値
表11-14 SET_USER_PROPERTIESファンクションの戻り値
| 値 | 説明 | 
|---|---|
DBMS_LDAP_UTL.SUCCESS  | 
 正常終了した場合の戻り値です。  | 
DBMS_LDAP_UTL.NO_SUCH_USER  | 
 ユーザーが存在しません。  | 
DBMS_LDAP_UTL.MULTIPLE_USER_ENTRIES  | 
 ユーザーが複数の識別名エントリを持ちます。  | 
DBMS_LDAP_UTL.INVALID_ROOT_ORCL_CTX  | 
 ルートのOracleコンテキストが無効です。  | 
DBMS_LDAP_UTL.PWD_MIN_LENGTH_ERROR  | 
 パスワードの長さが最低限の長さに達していません。  | 
DBMS_LDAP_UTL.PWD_NUMERIC_ERROR  | 
 パスワードに数字を含める必要があります。  | 
DBMS_LDAP_UTL.PWD_NULL_ERROR  | 
 パスワードはNULLにできません。  | 
DBMS_LDAP_UTL.PWD_INHISTORY_ERROR  | 
 置換したパスワードと同じパスワードを指定することはできません。  | 
DBMS_LDAP_UTL.PWD_ILLEGALVALUE_ERROR  | 
 パスワードに無効な文字が含まれています。  | 
DBMS_LDAP_UTL.GENERAL_ERROR  | 
 その他のエラーです。  | 
| 
 DBMS_LDAPエラー・コード  | 
 LDAPサーバーによるLDAP操作中に発生した無条件の障害に対して、適切な  | 
使用方法
このファンクションは、DBMS_LDAP.init()のコールで有効なLDAPセッションを取得してからコールしてください。
関連項目
DBMS_LDAP.init()、DBMS_LDAP_UTL.get_user_properties()。
get_user_extended_properties()ファンクションでは、ユーザーの拡張プロパティを取得します。
構文
FUNCTION get_user_extended_properties ( ld IN SESSION, user_handle IN HANDLE, attrs IN STRING_COLLECTION ptype IN PLS_INTEGER, filter IN VARCHAR2, rep_pset_coll OUT PROPERTY_SET_COLLECTION ) RETURN PLS_INTEGER;
パラメータ
表11-15 GET_USER_EXTENDED_PROPERTIESファンクションのパラメータ
| パラメータ名 | パラメータ・タイプ | パラメータの説明 | 
|---|---|---|
ld  | 
SESSION  | 
 有効なLDAPセッション・ハンドルです。  | 
user_handle  | 
HANDLE  | 
 ユーザー・ハンドルです。  | 
attrs  | 
STRING_COLLECTION  | 
 ユーザーに対してフェッチする属性のリストです。  | 
ptype  | 
PLS_INTEGER  | 
 戻すプロパティのタイプ。有効な値は  | 
filter  | 
VARCHAR2  | 
 ファンクションで戻されたユーザー・プロパティをさらに明確にするためのLDAPフィルタです。  | 
ret_pset_collection  | 
PROPERTY_SET_COLLECTION  | 
 コール元がリクエストした属性が含まれているユーザーの詳細です。  | 
戻り値
表11-16 GET_USER_EXTENDED_PROPERTIESファンクションの戻り値
| 値 | 説明 | 
|---|---|
DBMS_LDAP_UTL.SUCCESS  | 
 正常終了した場合の戻り値です。  | 
DBMS_LDAP_UTL.PARAM_ERROR  | 
 入力パラメータが無効です。  | 
DBMS_LDAP_UTL.NO_SUCH_USER  | 
 ユーザーが存在しません。  | 
DBMS_LDAP_UTL.MULTIPLE_USER_ENTRIES  | 
 ユーザーが複数の識別名エントリを持ちます。  | 
USER_PROPERTY_NOT_FOUND  | 
 ユーザーの拡張プロパティが存在しません。  | 
DBMS_LDAP_UTL.INVALID_ROOT_ORCL_CTX  | 
 ルートのOracleコンテキストが無効です。  | 
DBMS_LDAP_UTL.GENERAL_ERROR  | 
 その他のエラーです。  | 
| 
 DBMS_LDAPエラー・コード  | 
 LDAP操作中に発生した無条件の障害に対して、適切な  | 
使用方法
このファンクションは、DBMS_LDAP.init()のコールで有効なLDAPセッションを取得してからコールしてください。
関連項目
DBMS_LDAP.init()、DBMS_LDAP_UTL.get_user_properties()。
get_user_dn()ファンクションでは、ユーザーの識別名を戻します。
構文
FUNCTION get_user_dn ( ld IN SESSION, user_handle IN HANDLE, dn OUT VARCHAR2 ) RETURN PLS_INTEGER;
パラメータ
表11-17 GET_USER_DNファンクションのパラメータ
| パラメータ名 | パラメータ・タイプ | パラメータの説明 | 
|---|---|---|
ld  | 
SESSION  | 
 有効なLDAPセッション・ハンドルです。  | 
user_handle  | 
HANDLE  | 
 ユーザー・ハンドルです。  | 
dn  | 
VARCHAR2  | 
 ユーザーの識別名です。  | 
戻り値
表11-18 GET_USER_DNファンクションの戻り値
| 値 | 説明 | 
|---|---|
DBMS_LDAP_UTL.SUCCESS  | 
 正常終了した場合の戻り値です。  | 
DBMS_LDAP_UTL.PARAM_ERROR  | 
 入力パラメータが無効です。  | 
DBMS_LDAP_UTL.GENERAL_ERROR  | 
 認証に失敗しました。  | 
DBMS_LDAP_UTL.NO_SUCH_USER  | 
 ユーザーが存在しません。  | 
DBMS_LDAP_UTL.MULTIPLE_USER_ENTRIES  | 
 ユーザーが複数の識別名エントリを持ちます。  | 
DBMS_LDAP_UTL.INVALID_ROOT_ORCL_CTX  | 
 ルートのOracleコンテキストが無効です。  | 
DBMS_LDAP_UTL.GENERAL_ERROR  | 
 その他のエラーです。  | 
DBMS_LDAP error codes  | 
 LDAP操作中に発生した無条件の障害に対して、適切な  | 
使用方法
このファンクションは、DBMS_LDAP.init()のコールで有効なLDAPセッションを取得してからコールしてください。
関連項目
DBMS_LDAP.init()。
check_group_membership()ファンクションでは、ユーザーがグループに属しているかどうかをチェックします。
構文
FUNCTION check_group_membership ( ld IN SESSION, user_handle IN HANDLE, group_handle IN HANDLE, nested IN PLS_INTEGER ) RETURN PLS_INTEGER;
パラメータ
表11-19 CHECK_GROUP_MEMBERSHIPファンクションのパラメータ
| パラメータ名 | パラメータ・タイプ | パラメータの説明 | 
|---|---|---|
ld  | 
SESSION  | 
 有効なLDAPセッション・ハンドルです。  | 
user_handle  | 
HANDLE  | 
 ユーザー・ハンドルです。  | 
group_handle  | 
HANDLE  | 
 グループ・ハンドルです。  | 
nested  | 
PLS_INTEGER  | 
 ユーザーがグループ内で保持しているメンバーシップのタイプ。有効な値は次のとおりです。 
  | 
戻り値
表11-20 CHECK_GROUP_MEMBERSHIPファンクションの戻り値
| 値 | 説明 | 
|---|---|
DBMS_LDAP_UTL.SUCCESS  | 
 ユーザーがメンバーである場合の戻り値です。  | 
DBMS_LDAP_UTL.PARAM_ERROR  | 
 入力パラメータが無効です。  | 
DBMS_LDAP_UTL.NO_GROUP_MEMBERSHIP  | 
 ユーザーがメンバーでない場合の戻り値です。  | 
使用方法
このファンクションは、DBMS_LDAP.init()のコールで有効なLDAPセッションを取得してからコールしてください。
関連項目
DBMS_LDAP.get_group_membership()。
locate_subscriber_for_user()ファンクションでは、指定したユーザーのサブスクライバを取得し、そのハンドルを戻します。
構文
FUNCTION locate_subscriber_for_user ( ld IN SESSION, user_handle IN HANDLE, subscriber_handle OUT HANDLE ) RETURN PLS_INTEGER;
パラメータ
表11-21 LOCATE_SUBSCRIBER_FOR_USERファンクションのパラメータ
| パラメータ名 | パラメータ・タイプ | パラメータの説明 | 
|---|---|---|
ld  | 
SESSION  | 
 有効なLDAPセッション・ハンドルです。  | 
user_handle  | 
HANDLE  | 
 ユーザー・ハンドルです。  | 
subscriber_handle  | 
HANDLE  | 
 サブスクライバ・ハンドルです。  | 
戻り値
表11-22 LOCATE SUBSCRIBER FOR USERファンクションの戻り値
| 値 | 説明 | 
|---|---|
DBMS_LDAP_UTL.SUCCESS  | 
 正常終了した場合の戻り値です。  | 
DBMS_LDAP_UTL.NO_SUCH_SUBSCRIBER  | 
 サブスクライバが存在しません。  | 
DBMS_LDAP_UTL.MULTIPLE_SUBSCRIBER_ENTRIES  | 
 指定したサブスクライバに対して、複数のサブスクライバ識別名エントリがディレクトリに存在します。  | 
DBMS_LDAP_UTL.NO_SUCH_USER  | 
 ユーザーが存在しません。  | 
DBMS_LDAP_UTL.MULTIPLE_USER_ENTRIES  | 
 指定したユーザーに対して、複数のユーザー識別名エントリがディレクトリに存在します。  | 
DBMS_LDAP_UTL.SUBSCRIBER_NOT_FOUND  | 
 指定したユーザーのサブスクライバの位置を特定できません。  | 
DBMS_LDAP_UTL.INVALID_ROOT_ORCL_CTX  | 
 ルートのOracleコンテキストが無効です。  | 
DBMS_LDAP_UTL.ACCT_TOTALLY_LOCKED_EXCP  | 
 ユーザー・アカウントがロックされています。  | 
DBMS_LDAP_UTL.GENERAL_ERROR  | 
 その他のエラーです。  | 
| 
 DBMS_LDAPエラー・コード  | 
 LDAPサーバーによるLDAP操作中に発生した無条件の障害に対して、適切な  | 
使用方法
このファンクションは、DBMS_LDAP.init()のコールで有効なLDAPセッションを取得してからコールしてください。
関連項目
DBMS_LDAP.init()、DBMS_LDAP_UTL.create_user_handle()。
get_group_membership()ファンクションでは、ユーザーがメンバーになっているグループのリストを戻します。
構文
FUNCTION get_group_membership ( user_handle IN HANDLE, nested IN PLS_INTEGER, attr_list IN STRING_COLLECTION, ret_groups OUT PROPERTY_SET_COLLECTION ) RETURN PLS_INTEGER;
パラメータ
表11-23 GET_GROUP_MEMBERSHIPファンクションのパラメータ
| パラメータ名 | パラメータ・タイプ | パラメータの説明 | 
|---|---|---|
ld  | 
SESSION  | 
 有効なLDAPセッション・ハンドルです。  | 
user_handle  | 
HANDLE  | 
 ユーザー・ハンドルです。  | 
nested  | 
PLS_INTEGER  | 
 ユーザーがグループ内で保持しているメンバーシップのタイプ。有効な値は次のとおりです。 
  | 
attr_list  | 
STRING_COLLECTION  | 
 戻される属性のリストです。  | 
ret_groups  | 
PROPERTY_SET_COLLECTION  | 
 グループ・エントリの配列へのポインタを指すポインタです。  | 
戻り値
表11-24 GET_GROUP_MEMBERSHIPファンクションの戻り値
| 値 | 説明 | 
|---|---|
DBMS_LDAP_UTL.SUCCESS  | 
 正常終了した場合の戻り値です。  | 
DBMS_LDAP_UTL.PARAM_ERROR  | 
 入力パラメータが無効です。  | 
DBMS_LDAP_UTL.GENERAL_ERROR  | 
 その他のエラーです。  | 
使用方法
このファンクションは、DBMS_LDAP.init()のコールで有効なLDAPセッションを取得してからコールしてください。
関連項目
DBMS_LDAP.init()。
グループは、DBMS_LDAP_UTL.HANDLEデータ型を使用して表されます。グループ・ハンドルは、有効なグループ・エントリを表します。適切なサブスクライバ・ハンドルの作成に加え、識別名、GUIDまたは単純な名前を使用してグループ・ハンドルを作成できます。単純な名前を使用すると、ルートのOracleコンテキストおよびサブスクライバのOracleコンテキストの追加情報がグループの識別に使用されます。次に、グループ・ハンドルの作成例を示します。
retval := DBMS_LDAP_UTL.create_group_handle( group_handle, DBMS_LDAP_UTL.TYPE_DN, "cn=group1,cn=Groups,o=example,dc=com" );
このグループ・ハンドルを、適切なサブスクライバ・ハンドルに関連付ける必要があります。たとえば、o=example,dc=comを表すサブスクライバ・ハンドルsubscriber_handleの場合、サブスクライバ・ハンドルは次の方法で関連付けることができます。
retval := DBMS_LDAP_UTL.set_group_handle_properties( group_handle, DBMS_LDAP_UTL.SUBSCRIBER_HANDLE, subscriber_handle );
グループ・ハンドルの使用例としては、グループ・プロパティの取得があります。次に例を示します。
my_attrs is of type DBMS_LDAP.STRING_COLLECTION my_attrs(1) :='uniquemember'; retval := DBMS_LDAP_UTL.get_group_properties( my_session, my_attrs, DBMS_LDAP_UTL.ENTRY_PROPERTIES, my_pset_coll );
グループ関連サブプログラムは、メンバーシップに関連する機能もサポートしています。DBMS_LDAP_UTL.check_group_membership()ファンクションを使用すると、あるユーザー・ハンドルがグループのダイレクト・メンバーであるか、ネストされたメンバーであるかを確認できます。次に例を示します。
retval := DBMS_LDAP_UTL.check_group_membership( session, user_handle, group_handle, DBMS_LDAP_UTL.DIRECT_MEMBERSHIP
また、DBMS_LDAP_UTL.get_group_membership()ファンクションを使用して、特定のグループが属しているグループのリストを取得することもできます。次に例を示します。
my_attrs is of type DBMS_LDAP.STRING_COLLECTION my_attrs(1) :='cn'; retval := DBMS_LDAP_UTL.get_group_membership( my_session, user_handle, DBMS_LDAP_UTL.DIRECT_MEMBERSHIP, my_attrs my_pset_coll );
create_group_handle()ファンクションでは、グループ・ハンドルを作成します。
構文
FUNCTION create_group_handle ( group_hd OUT HANDLE, group_type IN PLS_INTEGER, group_id IN VARCHAR2 ) RETURN PLS_INTEGER;
パラメータ
表11-25 CREATE_GROUP_HANDLEファンクションのパラメータ
| パラメータ名 | パラメータ・タイプ | パラメータの説明 | 
|---|---|---|
group_hd  | 
HANDLE  | 
 グループのハンドルへのポインタです。  | 
group_type  | 
PLS_INTEGER  | 
 渡されるグループIDのタイプ。この引数に有効な値は、次のとおりです。 
  | 
group_id  | 
VARCHAR2  | 
 グループ・エントリを表すグループIDです。  | 
戻り値
表11-26 CREATE_GROUP_HANDLEファンクションの戻り値
| 値 | 説明 | 
|---|---|
DBMS_LDAP_UTL.SUCCESS  | 
 正常終了した場合の戻り値です。  | 
DBMS_LDAP_UTL.PARAM_ERROR  | 
 入力パラメータが無効です。  | 
DBMS_LDAP_UTL.GENERAL_ERROR  | 
 その他のエラーです。  | 
関連項目
DBMS_LDAP_UTL.get_group_properties()、DBMS_LDAP_UTL.set_group_handle_properties()。
set_group_handle_properties()ファンクションでは、グループ・ハンドルのプロパティを構成します。
構文
FUNCTION set_group_handle_properties ( group_hd IN HANDLE, property_type IN PLS_INTEGER, property IN HANDLE ) RETURN PLS_INTEGER;
パラメータ
表11-27 SET_GROUP_HANDLE_PROPERTIESファンクションのパラメータ
| パラメータ名 | パラメータ・タイプ | パラメータの説明 | 
|---|---|---|
group_hd  | 
HANDLE  | 
 グループのハンドルへのポインタです。  | 
property_type  | 
PLS_INTEGER  | 
 渡されるプロパティのタイプ。この引数に有効な値は  | 
property  | 
HANDLE  | 
 グループ・エントリを記述するプロパティです。  | 
戻り値
表11-28 SET_GROUP_HANDLE_PROPERTIESファンクションの戻り値
| 値 | 説明 | 
|---|---|
DBMS_LDAP_UTL.SUCCESS  | 
 正常終了した場合の戻り値です。  | 
DBMS_LDAP_UTL.PARAM_ERROR  | 
 入力パラメータが無効です。  | 
DBMS_LDAP_UTL.RESET_HANDLE  | 
 コール元が既存のハンドル・プロパティをリセットしようとした場合の戻り値です。  | 
DBMS_LDAP_UTL.GENERAL_ERROR  | 
 その他のエラーです。  | 
使用方法
グループ・ハンドルが、TYPE_DNまたはTYPE_GUIDのグループ・タイプで作成されている場合は、サブスクライバ・ハンドルをグループ・ハンドルのプロパティに設定する必要はありません。
関連項目
DBMS_LDAP_UTL.get_group_properties()。
get_group_properties()ファンクションでは、グループ・プロパティを取得します。
構文
FUNCTION get_group_properties ( ld IN SESSION, group_handle IN HANDLE, attrs IN STRING_COLLECTION, ptype IN PLS_INTEGER, ret_pset_coll OUT PROPERTY_SET_COLLECTION ) RETURN PLS_INTEGER;
パラメータ
表11-29 GET_GROUP_PROPERTIESファンクションのパラメータ
| パラメータ名 | パラメータ・タイプ | パラメータの説明 | 
|---|---|---|
ld  | 
SESSION  | 
 有効なLDAPセッション・ハンドルです。  | 
group_handle  | 
HANDLE  | 
 グループ・ハンドルです。  | 
attrs  | 
STRING_COLLECTION  | 
 グループに対してフェッチする必要がある属性のリストです。  | 
ptype  | 
PLS_INTEGER  | 
 戻されるプロパティのタイプ。有効な値は  | 
ret_pset_coll  | 
PROPERTY_SET_COLLECTION  | 
 コール元がリクエストした属性が含まれているグループの詳細です。  | 
戻り値
表11-30 GET_GROUP_PROPERTIESファンクションの戻り値
| 値 | 説明 | 
|---|---|
DBMS_LDAP_UTL.SUCCESS  | 
 正常終了した場合の戻り値です。  | 
DBMS_LDAP_UTL.PARAM_ERROR  | 
 入力パラメータが無効です。  | 
DBMS_LDAP_UTL.NO_SUCH_GROUP  | 
 グループが存在しません。  | 
DBMS_LDAP_UTL.MULTIPLE_GROUP_ENTRIES  | 
 指定したグループに対して、複数のグループ識別名エントリがディレクトリに存在します。  | 
DBMS_LDAP_UTL.INVALID_ROOT_ORCL_CTX  | 
 ルートのOracleコンテキストが無効です。  | 
DBMS_LDAP_UTL.GENERAL_ERROR  | 
 その他のエラーです。  | 
| 
 DBMS_LDAPエラー・コード  | 
 LDAPサーバーによるLDAP操作中に発生した無条件の障害に対して、適切な  | 
使用方法
このファンクションには、次の要件があります。
DBMS_LDAP.init()ファンクションで取得した有効なLDAPセッション・ハンドル。
グループのタイプがDBMS_LDAP_UTL.TYPE_NICKNAMEの場合は、グループ・ハンドルのプロパティに有効なサブスクライバ・ハンドルの設定が必要です。
このファンクションは、NULLのサブスクライバ・ハンドルをデフォルト・サブスクライバとして識別しません。デフォルト・サブスクライバは、引数にNULLのsubscriber_idが渡されるDBMS_LDAP_UTL.create_subscriber_handle()で取得できます。
グループ・タイプがDBMS_LDAP_UTL.TYPE_GUIDまたはDBMS_LDAP_UTL.TYPE_DNの場合は、サブスクライバ・ハンドルをグループ・ハンドルのプロパティに設定する必要はありません。サブスクライバ・ハンドルが設定されている場合、サブスクライバ・ハンドルは無視されます。
関連項目
DBMS_LDAP.init()、DBMS_LDAP_UTL.create_group_handle()。
get_group_dn()ファンクションでは、グループの識別名を戻します。
構文
FUNCTION get_group_dn ( ld IN SESSION, group_handle IN HANDLE dn OUT VARCHAR2 ) RETURN PLS_INTEGER;
パラメータ
表11-31 GET_GROUP_DNファンクションのパラメータ
| パラメータ名 | パラメータ・タイプ | パラメータの説明 | 
|---|---|---|
ld  | 
SESSION  | 
 有効なLDAPセッション・ハンドルです。  | 
group_handle  | 
HANDLE  | 
 グループ・ハンドルです。  | 
dn  | 
VARCHAR2  | 
 グループの識別名です。  | 
戻り値
表11-32 GET_GROUP_DNファンクションの戻り値
| 値 | 説明 | 
|---|---|
DBMS_LDAP_UTL.SUCCESS  | 
 正常終了した場合の戻り値です。  | 
DBMS_LDAP_UTL.PARAM_ERROR  | 
 入力パラメータが無効です。  | 
DBMS_LDAP_UTL.NO_SUCH_GROUP  | 
 グループが存在しません。  | 
DBMS_LDAP_UTL.MULTIPLE_GROUP_ENTRIES  | 
 指定したグループに対して、複数のグループ識別名エントリがディレクトリに存在します。  | 
DBMS_LDAP_UTL.INVALID_ROOT_ORCL_CTX  | 
 ルートのOracleコンテキストが無効です。  | 
DBMS_LDAP_UTL.GENERAL_ERROR  | 
 その他のエラーです。  | 
| 
 DBMS_LDAPエラー・コード  | 
 LDAP操作中に発生した無条件の障害に対して、適切な  | 
使用方法
このファンクションは、DBMS_LDAP.init()のコールで有効なLDAPセッションを取得してからコールしてください。
関連項目
DBMS_LDAP.init()。
サブスクライバは、dbms_ldap_utl.handleデータ型を使用して表されます。サブスクライバ・ハンドルは、識別名、GUIDまたは単純な名前を使用して作成できます。単純な名前を使用すると、ルートのOracleコンテキストの追加情報がサブスクライバの識別に使用されます。次の例は、サブスクライバ・ハンドルの作成方法を示しています。
retval := DBMS_LDAP_UTL.create_subscriber_handle(
subscriber_handle, DBMS_LDAP_UTL.TYPE_DN, "o=example,dc=com" );
subscriber_handleは、その識別名であるo=oracle,dc=comによって作成されます。
サブスクライバ・プロパティの取得は、サブスクライバ・ハンドルの一般的な用途の1つです。次に例を示します。
my_attrs is of type DBMS_LDAP.STRING_COLLECTION
       my_attrs(1) :='orclguid';  
       retval := DBMS_LDAP_UTL.get_subscriber_properties(
my_session,
my_attrs,
DBMS_LDAP_UTL.ENTRY_PROPERTIES,
my_pset_coll
);
create_subscriber_handle()ファンクションでは、サブスクライバ・ハンドルを作成します。
構文
FUNCTION create_subscriber_handle ( subscriber_hd OUT HANDLE, subscriber_type IN PLS_INTEGER, subscriber_id IN VARCHAR2 ) RETURN PLS_INTEGER;
パラメータ
表11-33 CREATE_SUBSCRIBER_HANDLEファンクションのパラメータ
| パラメータ名 | パラメータ・タイプ | パラメータの説明 | 
|---|---|---|
subscriber_hd  | 
HANDLE  | 
 サブスクライバのハンドルへのポインタです。  | 
subscriber_type  | 
PLS_INTEGER  | 
 渡されるサブスクライバIDのタイプ。この引数に有効な値は、次のとおりです。 
  | 
subscriber_id  | 
VARCHAR2  | 
 サブスクライバ・エントリを表すサブスクライバIDです。  | 
戻り値
表11-34 CREATE_SUBSCRIBER_HANDLEファンクションの戻り値
| 値 | 説明 | 
|---|---|
DBMS_LDAP_UTL.SUCCESS  | 
 正常終了した場合の戻り値です。  | 
DBMS_LDAP_UTL.PARAM_ERROR  | 
 入力パラメータが無効です。  | 
DBMS_LDAP_UTL.GENERAL_ERROR  | 
 その他のエラーです。  | 
関連項目
DBMS_LDAP_UTL.get_subscriber_properties()。
get_subscriber_properties()ファンクションでは、指定したサブスクライバ・ハンドルのサブスクライバ・プロパティを取得します。
構文
FUNCTION get_subscriber_properties ( ld IN SESSION, subscriber_handle IN HANDLE, attrs IN STRING_COLLECTION, ptype IN PLS_INTEGER, ret_pset_coll OUT PROPERTY_SET_COLLECTION ) RETURN PLS_INTEGER;
パラメータ
表11-35 GET_SUBSCRIBER_PROPERTIESファンクションのパラメータ
| パラメータ名 | パラメータ・タイプ | パラメータの説明 | 
|---|---|---|
ld  | 
SESSION  | 
 有効なLDAPセッション・ハンドルです。  | 
subscriber_handle  | 
HANDLE  | 
 サブスクライバ・ハンドルです。  | 
attrs  | 
STRING_COLLECTION  | 
 サブスクライバに対して取得する必要がある属性のリストです。  | 
ptype  | 
PLS_INTEGER  | 
 戻すサブスクライバのOracleコンテキストのプロパティ。有効な値は次のとおりです。 
  | 
ret_pset_coll  | 
PROPERTY_SET_COLLECTION  | 
 コール元がリクエストした属性が含まれているサブスクライバの詳細です。  | 
戻り値
表11-36 GET_SUBSCRIBER_PROPERTIESファンクションの戻り値
| 値 | 説明 | 
|---|---|
DBMS_LDAP_UTL.SUCCESS  | 
 正常終了した場合の戻り値です。  | 
DBMS_LDAP_UTL.PARAM_ERROR  | 
 入力パラメータが無効です。  | 
DBMS_LDAP_UTL.NO_SUCH_SUBSCRIBER  | 
 サブスクライバが存在しません。  | 
DBMS_LDAP_UTL.MULTIPLE_SUBSCRIBER_ENTRIES  | 
 サブスクライバが複数の識別名エントリを持ちます。  | 
DBMS_LDAP_UTL.INVALID_ROOT_ORCL_CTX  | 
 ルートのOracleコンテキストが無効です。  | 
DBMS_LDAP_UTL.GENERAL_ERROR  | 
 その他のエラーです。  | 
| 
 DBMS_LDAPエラー・コード  | 
 LDAP操作中に発生した無条件の障害に対して、適切な  | 
使用方法
このファンクションは、DBMS_LDAP.init()のコールで有効なLDAPセッションを取得してからコールしてください。
関連項目
DBMS_LDAP.init()、DBMS_LDAP_UTL.create_subscriber_handle()。
get_subscriber_dn()ファンクションでは、サブスクライバの識別名を戻します。
構文
FUNCTION get_subscriber_dn ( ld IN SESSION, subscriber_handle IN HANDLE, dn OUT VARCHAR2 ) RETURN PLS_INTEGER;
パラメータ
表11-37 GET_SUBSCRIBER_DNファンクションのパラメータ
| パラメータ名 | パラメータ・タイプ | パラメータの説明 | 
|---|---|---|
ld  | 
SESSION  | 
 有効なLDAPセッション・ハンドルです。  | 
subscriber_handle  | 
HANDLE  | 
 サブスクライバ・ハンドルです。  | 
dn  | 
VARCHAR2  | 
 サブスクライバの識別名です。  | 
戻り値
表11-38 GET_SUBSCRIBER_DNファンクションの戻り値
| 値 | 説明 | 
|---|---|
DBMS_LDAP_UTL.SUCCESS  | 
 正常終了した場合の戻り値です。  | 
DBMS_LDAP_UTL.PARAM_ERROR  | 
 入力パラメータが無効です。  | 
DBMS_LDAP_UTL.NO_SUCH_SUBSCRIBER  | 
 サブスクライバが存在しません。  | 
DBMS_LDAP_UTL.MULTIPLE_SUBSCRIBER_ENTRIES  | 
 指定したサブスクライバに対して、複数のサブスクライバ識別名エントリがディレクトリに存在します。  | 
DBMS_LDAP_UTL.INVALID_ROOT_ORCL_CTX  | 
 ルートのOracleコンテキストが無効です。  | 
DBMS_LDAP_UTL.GENERAL_ERROR  | 
 その他のエラーです。  | 
| 
 DBMS_LDAPエラー・コード  | 
 LDAP操作中に発生した無条件の障害に対して、適切な  | 
使用方法
このファンクションは、DBMS_LDAP.init()のコールで有効なLDAPセッションを取得してからコールしてください。
関連項目
DBMS_LDAP.init()。
get_subscriber_ext_properties()ファンクションでは、拡張されたサブスクライバのプロパティを取得します。現在、このファンクションは、サブスクライバ全体のデフォルトのリソース・アクセス記述子を取得するために使用されます。
構文
FUNCTION get_subscriber_ext_properties ( ld IN SESSION, subscriber_handle IN HANDLE, attrs IN STRING_COLLECTION, ptype IN PLS_INTEGER, filter IN VARCHAR2, rep_pset_coll OUT PROPERTY_SET_COLLECTION ) RETURN PLS_INTEGER;
パラメータ
表11-39 GET_SUBSCRIBER_EXT_PROPERTIESファンクションのパラメータ
| パラメータ名 | パラメータ・タイプ | パラメータの説明 | 
|---|---|---|
ld  | 
SESSION  | 
 有効なLDAPセッション・ハンドルです。  | 
subscriber_handle  | 
HANDLE  | 
 サブスクライバ・ハンドルです。  | 
attrs  | 
STRING_COLLECTION  | 
 取得するサブスクライバ属性のリストです。  | 
ptype  | 
PLS_INTEGER  | 
 戻すプロパティのタイプ。有効な値は  | 
filter  | 
VARCHAR2  | 
 ファンクションで戻されたサブスクライバ・プロパティをさらに明確にするためのLDAPフィルタです。  | 
ret_pset_collection  | 
PROPERTY_SET_COLLECTION  | 
 コール元がリクエストした属性が含まれているサブスクライバの詳細です。  | 
戻り値
表11-40 GET_USER_EXTENDED_PROPERTIESファンクションの戻り値
| 値 | 説明 | 
|---|---|
DBMS_LDAP_UTL.SUCCESS  | 
 正常終了した場合の戻り値です。  | 
DBMS_LDAP_UTL.PARAM_ERROR  | 
 入力パラメータが無効です。  | 
DBMS_LDAP_UTL.NO_SUCH_USER  | 
 ユーザーが存在しません。  | 
DBMS_LDAP_UTL.INVALID_ROOT_ORCL_CTX  | 
 ルートのOracleコンテキストが無効です。  | 
DBMS_LDAP_UTL.GENERAL_ERROR  | 
 その他のエラーです。  | 
DBMS_LDAP error codes  | 
 LDAP操作中に発生した無条件の障害に対して、適切な  | 
使用方法
このファンクションは、DBMS_LDAP.init()のコールで有効なLDAPセッションを取得してからコールしてください。
関連項目: DBMS_LDAP.init()、DBMS_LDAP_UTL.get_subscriber_properties()。
ユーザー関連、サブスクライバ関連およびグループ関連のサブプログラムの多くは、結果を表す1つ以上のLDAPエントリのコレクションであるDBMS_LDAP_UTL.PROPERTY_SET_COLLECTIONを戻します。これらの各エントリは、DBMS_LDAP_UTL.PROPERTY_SETで表されます。PROPERTY_SETには属性(つまり、プロパティ)とその値が含まれる場合があります。次に、DBMS_LDAP_UTL.PROPERTY_SET_COLLECTIONからプロパティを取得する例を示します。
my_attrs is of type DBMS_LDAP.STRING_COLLECTION
my_attrs(1) :='cn';
retval := DBMS_LDAP_UTL.get_group_membership(
my_session,
user_handle,
DBMS_LDAP_UTL.DIRECT_MEMBERSHIP,
my_attrs,
my_pset_coll
);
IF my_pset_coll.count > 0 THEN
      FOR i in my_pset_coll.first .. my_pset_coll.last LOOP
--    my_property_names is of type DBMS_LDAP.STRING_COLLECTION
       retval := DBMS_LDAP_UTL.get_property_names(
pset_coll(i),
property_names
       IF my_property_names.count > 0 THEN
           FOR j in my_property_names.first .. my_property_names.last LOOP
             retval := DBMS_LDAP_UTL.get_property_values(
pset_coll(i),
property_names(j),
property_values
             if my_property_values.COUNT > 0 then
              FOR k in my_property_values.FIRST..my_property_values.LAST LOOP
                     DBMS_OUTPUT.PUT_LINE(my_property_names(j)  || ':'  
                        ||my_property_values(k));
                    END LOOP; -- For each value
             else
                DBMS_OUTPUT.PUT_LINE('NO VALUES FOR' || my_property_names(j));
             end if;
           END LOOP; -- For each property name
         END IF; -- IF my_property_names.count > 0
      END LOOP; -- For each propertyset
  END IF; -- If my_pset_coll.count > 0
use_handleはユーザー・ハンドルです。my_pset_collには、user_handleが属するネストされたグループがすべて含まれます。このコードは結果エントリをループし、各エントリのcnを出力します。
DBMS_LDAP_UTLパッケージのその他のサブプログラムは、様々な機能を実行します。
normalize_dn_with_case()ファンクションでは、識別名から不要な空白文字を削除し、フラグに基づいてすべての文字を小文字に変換します。
構文
FUNCTION normalize_dn_with_case ( dn IN VARCHAR2, lower_case IN PLS_INTEGER, norm_dn OUT VARCHAR2 ) RETURN PLS_INTEGER;
パラメータ
表11-41 NORMALIZE_DN_WITH_CASEファンクションのパラメータ
| パラメータ名 | パラメータ・タイプ | パラメータの説明 | 
|---|---|---|
dn  | 
VARCHAR2  | 
 識別名を指定します。  | 
lower_case  | 
PLS_INTEGER  | 
 
  | 
norm_dn  | 
VARCHAR2  | 
 正規化された識別名です。  | 
戻り値
表11-42 NORMALIZE_DN_WITH_CASEファンクションの戻り値
| 値 | 説明 | 
|---|---|
DBMS_LDAP_UTL.SUCCESS  | 
 正常終了した場合の戻り値です。  | 
DBMS_LDAP_UTL.PARAM_ERROR  | 
 入力パラメータが無効です。  | 
DBMS_LDAP_UTL.GENERAL_ERROR  | 
 障害時の戻り値です。  | 
使用方法
このファンクションは、2つの識別名を比較する際に使用できます。
get_property_names()ファンクションでは、プロパティ・セットのプロパティ名のリストを取得します。
構文
FUNCTION get_property_names ( pset IN PROPERTY_SET, property_names OUT STRING_COLLECTION ) RETURN PLS_INTEGER;
パラメータ
表11-43 GET_PROPERTY_NAMESファンクションのパラメータ
| パラメータ名 | パラメータ・タイプ | パラメータの説明 | 
|---|---|---|
pset  | 
PROPERTY_SET  | 
 次のいずれかのファンクションで戻されるPropertySetCollection内のプロパティ・セットです。 
  | 
property_names  | 
STRING_COLLECTION  | 
 プロパティ・セットに関連付けられているプロパティ名のリストです。  | 
戻り値
表11-44 GET_PROPERTY_NAMESファンクションの戻り値
| 値 | 説明 | 
|---|---|
DBMS_LDAP_UTL.SUCCESS  | 
 正常終了した場合の戻り値です。  | 
DBMS_LDAP_UTL.PARAM_ERROR  | 
 入力パラメータが無効です。  | 
DBMS_LDAP_UTL.GENERAL_ERROR  | 
 エラーが発生した場合の戻り値です。  | 
関連項目
DBMS_LDAP_UTL.get_property values()。
get_property_values()ファンクションでは、指定したプロパティ名とプロパティに対するプロパティ値(文字列)を取得します。
構文
FUNCTION get_property_values ( pset IN PROPERTY_SET, property_name IN VARCHAR2, property_values OUT STRING_COLLECTION ) RETURN PLS_INTEGER;
パラメータ
表11-45 GET_PROPERTY_VALUESファンクションのパラメータ
| パラメータ名 | パラメータ・タイプ | パラメータの説明 | 
|---|---|---|
property_name  | 
VARCHAR2  | 
 プロパティ名です。  | 
pset  | 
PROPERTY_SET  | 
 次のいずれかのファンクションで戻されるPropertySetCollection内のプロパティ・セットです。 
  | 
property_values  | 
STRING_COLLECTION  | 
 プロパティ値(文字列)のリストです。  | 
戻り値
表11-46 GET_PROPERTY_VALUESファンクションの戻り値
| 値 | 説明 | 
|---|---|
DBMS_LDAP_UTL.SUCCESS  | 
 正常終了した場合の戻り値です。  | 
DBMS_LDAP_UTL.PARAM_ERROR  | 
 入力パラメータが無効です。  | 
DBMS_LDAP_UTL.GENERAL_ERROR  | 
 障害時の戻り値です。  | 
関連項目
DBMS_LDAP_UTL.get_property_values_len()。
get_property_values_len()ファンクションでは、指定したプロパティ名とプロパティに対するバイナリ・プロパティ値を取得します。
構文
FUNCTION get_property_values_len ( pset IN PROPERTY_SET, property_name IN VARCHAR2, auth_type IN PLS_INTEGER, property_values OUT BINVAL_COLLECTION ) RETURN PLS_INTEGER;
パラメータ
表11-47 GET_PROPERTY_VALUES_LENファンクションのパラメータ
| パラメータ名 | パラメータ・タイプ | パラメータの説明 | 
|---|---|---|
property_name  | 
VARCHAR2  | 
 プロパティ名です。  | 
pset  | 
PROPERTY_SET  | 
 次のいずれかのファンクションで戻されるPropertySetCollection内のプロパティ・セットです。 
  | 
property_values  | 
BINVAL_COLLECTION  | 
 バイナリ・プロパティ値のリストです。  | 
戻り値
表11-48 GET_PROPERTY_VALUES_LENファンクションの戻り値
| 値 | 説明 | 
|---|---|
DBMS_LDAP_UTL.SUCCESS  | 
 正常終了した場合の戻り値です。  | 
DBMS_LDAP_UTL.PARAM_ERROR  | 
 入力パラメータが無効です。  | 
DBMS_LDAP_UTL.GENERAL_ERROR  | 
 障害時の戻り値です。  | 
関連項目
DBMS_LDAP_UTL.get_property_values()。
free_propertyset_collection()プロシージャでは、プロパティ・セット・コレクションに関連付けられているメモリーを解放します。
構文
PROCEDURE free_propertyset_collection ( pset_collection IN OUT PROPERTY_SET_COLLECTION );
パラメータ
表11-49 FREE_PROPERTYSET_COLLECTIONプロシージャのパラメータ
| パラメータ名 | パラメータ・タイプ | パラメータの説明 | 
|---|---|---|
pset_collection  | 
PROPERTY_SET_COLLECTION  | 
 次のいずれかのファンクションで戻されるPropertySetCollectionです。 
  | 
関連項目
DBMS_LDAP_UTL.get_group_membership()、DBMS_LDAP_UTL.get_subscriber_properties()、DBMS_LDAP_UTL.get_user_properties()、DBMS_LDAP_UTL.get_group_properties()。
create_mod_propertyset()ファンクションでは、MOD_PROPERTY_SETデータ構造を作成します。
構文
FUNCTION create_mod_propertyset ( pset_type IN PLS_INTEGER, pset_name IN VARCHAR2, mod_pset OUT MOD_PROPERTY_SET ) RETURN PLS_INTEGER;
パラメータ
表11-50 CREATE_MOD_PROPERTYSETファンクションのパラメータ
| パラメータ名 | パラメータ・タイプ | パラメータの説明 | 
|---|---|---|
pset_type  | 
PLS_INTEGER  | 
 変更するプロパティ・セットのタイプ。有効な値は  | 
pset_name  | 
VARCHAR2  | 
 プロパティ・セットの名前。  | 
mod_pset  | 
MOD_PROPERTY_SET  | 
 プロパティ・セットに対して実行する変更操作が含まれているデータ構造です。  | 
戻り値
表11-51 CREATE_MOD_PROPERTYSETファンクションの戻り値
| 値 | 説明 | 
|---|---|
DBMS_LDAP_UTL.SUCCESS  | 
 正常終了した場合の戻り値です。  | 
DBMS_LDAP_UTL.GENERAL_ERROR  | 
 その他のエラーです。  | 
関連項目
DBMS_LDAP_UTL.populate_mod_propertyset()。
populate_mod_propertyset()ファンクションでは、MOD_PROPERTY_SETデータ構造に移入します。
構文
FUNCTION populate_mod_propertyset ( mod_pset IN MOD_PROPERTY_SET, property_mod_op IN PLS_INTEGER, property_name IN VARCHAR2, property_values IN STRING_COLLECTION ) RETURN PLS_INTEGER;
パラメータ
表11-52 POPULATE_MOD_PROPERTYSETファンクションのパラメータ
| パラメータ名 | パラメータ・タイプ | パラメータの説明 | 
|---|---|---|
mod_pset  | 
MOD_PROPERTY_SET  | 
 Mod_PropertySetデータ構造です。  | 
property_mod_op  | 
PLS_INTEGER  | 
 プロパティに対して実行する変更操作のタイプ。有効な値は次のとおりです。 
  | 
property_name  | 
VARCHAR2  | 
 プロパティの名前です。  | 
property_values  | 
STRING_COLLECTION  | 
 プロパティに関連付けられている値です。  | 
戻り値
表11-53 POPULATE_MOD_PROPERTYSETファンクションの戻り値
| 値 | 説明 | 
|---|---|
DBMS_LDAP_UTL.SUCCESS  | 
 正常終了した場合の戻り値です。  | 
DBMS_LDAP_UTL.GENERAL_ERROR  | 
 認証に失敗しました。  | 
DBMS_LDAP_UTL.PWD_GRACELOGIN_WARN  | 
 ユーザーの猶予期間ログインです。  | 
関連項目
DBMS_LDAP_UTL.create_mod_propertyset()。
free_mod_propertyset()プロシージャでは、MOD_PROPERTY_SETデータ構造を解放します。
構文
PROCEDURE free_mod_propertyset ( mod_pset IN MOD_PROPERTY_SET );
パラメータ
表11-54 FREE_MOD_PROPERTYSETプロシージャのパラメータ
| パラメータ名 | パラメータ・タイプ | パラメータの説明 | 
|---|---|---|
mod_pset  | 
PROPERTY_SET  | 
 
  | 
関連項目
DBMS_LDAP_UTL.create_mod_propertyset()。
free_handle()プロシージャでは、ハンドルに関連付けられているメモリーを解放します。
構文
PROCEDURE free_handle ( handle IN OUT HANDLE );
パラメータ
関連項目
DBMS_LDAP_UTL.create_user_handle()、DBMS_LDAP_UTL.create_subscriber_handle()、DBMS_LDAP_UTL.create_group_handle()。
check_interface_version()ファンクションでは、インタフェースのバージョンをチェックします。
構文
FUNCTION check_interface_version ( interface_version IN VARCHAR2 ) RETURN PLS_INTEGER;
パラメータ
表11-56 CHECK_INTERFACE_VERSIONファンクションのパラメータ
| パラメータ名 | パラメータ・タイプ | パラメータの説明 | 
|---|---|---|
interface_version  | 
VARCHAR2  | 
 インタフェースのバージョンです。  | 
戻り値
get_property_values_blob()ファンクションでは、指定したプロパティ名とプロパティに対するラージ・バイナリ・プロパティ値を取得します。
構文
FUNCTION get_property_values_blob ( pset IN PROPERTY_SET, property_name IN VARCHAR2, auth_type IN PLS_INTEGER, property_values OUT BLOB_COLLECTION ) RETURN PLS_INTEGER;
パラメータ
表11-58 GET_PROPERTY_VALUES_BLOBファンクションのパラメータ
| パラメータ | パラメータ・タイプ | 説明 | 
|---|---|---|
property_name  | 
VARCHAR2  | 
 プロパティ名です。  | 
pset  | 
PROPERTY_SET  | 
 次のいずれかのファンクションで戻されるPropertySetCollection内のプロパティ・セットです。 
  | 
property_values  | 
BLOB_COLLECTION  | 
 バイナリ・プロパティ値のリストです。  | 
戻り値
表11-59 GET_PROPERTY_VALUES_BLOBの戻り値
| 値 | 説明 | 
|---|---|
DBMS_LDAP_UTL.SUCCESS  | 
 正常終了した場合の戻り値です。  | 
DBMS_LDAP_UTL.PARAM_ERROR  | 
 入力パラメータが無効です。  | 
DBMS_LDAP_UTL.GENERAL_ERROR  | 
 障害時の戻り値です。  | 
関連項目
DBMS_LDAP_UTL.get_property_values()。
DBMS_LDAP.get_property_values_blob()によって戻されたBLOB_COLLECTIONに関連付けられているメモリーを解放します。
構文
Syntax PROCEDURE property_value_free_blob ( vals IN OUT DBMS_LDAP.BLOB_COLLECTION );
パラメータ
表11-60 PROPERTY_VALUE_FREE_BLOBファンクションのパラメータ
| パラメータ | 説明 | 
|---|---|
vals  | 
 
  | 
関連項目
DBMS_LDAP.get_property_values_blob()。
DBMS_LDAP_UTLの各ファンクションは、次の表の値を戻す場合があります。
表11-61 ファンクション・リターン・コード
| 名前 | リターン・コード | 説明 | 
|---|---|---|
SUCCESS  | 
0  | 
 操作は正常終了しました。  | 
GENERAL_ERROR  | 
-1  | 
 このエラー・コードは、ここにリストされている以外の障害が発生した場合に戻されます。  | 
PARAM_ERROR  | 
-2  | 
 入力パラメータが無効な場合は、すべてのファンクションがこのコードを戻します。  | 
NO_GROUP_MEMBERSHIP  | 
-3  | 
 ユーザーがグループのメンバーでない場合は、ユーザー関連ファンクションとグループ・ファンクションからこのコードが戻されます。  | 
NO_SUCH_SUBSCRIBER  | 
-4  | 
 ディレクトリにサブスクライバが存在しない場合は、サブスクライバ関連のファンクションからこのコードが戻されます。  | 
NO_SUCH_USER  | 
-5  | 
 ディレクトリにユーザーが存在しない場合は、ユーザー関連のファンクションからこのコードが戻されます。  | 
NO_ROOT_ORCL_CTX  | 
-6  | 
 ディレクトリにルートのOracleコンテキストが存在しない場合は、ほとんどのファンクションがこのコードを戻します。  | 
MULTIPLE_SUBSCRIBER_ENTRIES  | 
-7  | 
 指定したサブスクライバ・ニックネームに対して複数のサブスクライバ・エントリが検出された場合は、サブスクライバ関連のファンクションからこのコードが戻されます。  | 
INVALID_ROOT_ORCL_CTX  | 
-8  | 
 ファンクションに必要なすべての必須情報が、ルートのOracleコンテキストに含まれていません。  | 
NO_SUBSCRIBER_ORCL_CTX  | 
-9  | 
 サブスクライバのOracleコンテキストが存在しません。  | 
INVALID_SUBSCRIBER_ORCL_CTX  | 
-10  | 
 サブスクライバのOracleコンテキストが無効です。  | 
MULTIPLE_USER_ENTRIES  | 
-11  | 
 指定したユーザー・ニックネームに対して複数のユーザー・エントリが検出された場合は、ユーザー関連のファンクションからこのコードが戻されます。  | 
NO_SUCH_GROUP  | 
-12  | 
 ディレクトリにグループが存在しない場合は、グループ関連のファンクションからこのコードが戻されます。  | 
MULTIPLE_GROUP_ENTRIES  | 
-13  | 
 指定したグループ・ニックネームに対して、複数のグループ・エントリがディレクトリに存在しています。  | 
ACCT_TOTALLY_LOCKED_EXCEPTION  | 
-14  | 
 ユーザー・アカウントがロックされている場合は、  | 
AUTH_PASSWD_CHANGE_WARN  | 
-15  | 
 このリターン・コードは非推奨です。  | 
AUTH_FAILURE_EXCEPTION  | 
-16  | 
 ユーザーの認証に失敗した場合は、  | 
PWD_EXPIRED_EXCEPTION  | 
-17  | 
 ユーザー・パスワードが期限切れの場合は、  | 
RESET_HANDLE  | 
-18  | 
 エントリ・ハンドルのプロパティをコール元がリセットしようとしている場合は、このコードが戻されます。  | 
SUBSCRIBER_NOT_FOUND  | 
-19  | 
 サブスクライバの位置を特定できない場合は、  | 
PWD_EXPIRE_WARN  | 
-20  | 
 ユーザー・パスワードの期限切れが近い場合は、  | 
PWD_MINLENGTH_ERROR  | 
-21  | 
 ユーザー・パスワードの変更時に、新規ユーザー・パスワードが最低限の長さに達していない場合は、  | 
PWD_NUMERIC_ERROR  | 
-22  | 
 ユーザー・パスワードの変更時に、新規ユーザー・パスワードに最低1文字の数字が含まれていない場合は、  | 
PWD_NULL_ERROR  | 
-23  | 
 ユーザー・パスワードの変更時に、新規ユーザー・パスワードに空のパスワードが指定された場合は、  | 
PWD_INHISTORY_ERROR  | 
-24  | 
 ユーザー・パスワードの変更時に、新規ユーザー・パスワードに以前と同じパスワードが指定された場合は、  | 
PWD_ILLEGALVALUE_ERROR  | 
-25  | 
 ユーザー・パスワードの変更時に、新規ユーザー・パスワードに無効な文字が指定された場合は、  | 
PWD_GRACELOGIN_WARN  | 
-26  | 
 ユーザー・パスワードが期限切れで、ユーザーに猶予期間ログインが指定されている場合は、  | 
PWD_MUSTCHANGE_ERROR  | 
-27  | 
 ユーザー・パスワードの変更が必要な場合は、  | 
USER_ACCT_DISABLED_ERROR  | 
-29  | 
 ユーザー・アカウントが無効な場合は、  | 
PROPERTY_NOT_FOUND  | 
-30  | 
 ディレクトリでユーザー・プロパティを検索している場合は、ユーザー関連のファンクションからこのコードが戻されます。  |