ヘッダーをスキップ
Oracle Fusion Middleware Oracle Identity Managementアプリケーション開発者ガイド
11gリリース1(11.1.1)
B56242-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

11 DBMS_LDAP_UTL PL/SQLリファレンス

Oracleの拡張機能のユーティリティ・ファンクションが含まれているDBMS_LDAP_UTLパッケージに関するリファレンス情報を示します。この章では、次の項目について説明します。


注意:

DBMS_LDAP_UTLパッケージのサンプル・コードは、次のURLで入手できます。
http://www.oracle.com/technology/sample_code/

「Sample Applications—Fusion Middleware」の下の「Oracle Identity Management」リンクを探してください。


11.1 サブプログラムの概要

表11-1 DBMS_LDAP_UTLのユーザー関連サブプログラム

ファンクションまたはプロシージャ 用途

authenticate_userファンクション

Lightweight Directory Access Protocol(LDAP)サーバーに対してユーザーを認証します。

create_user_handleファンクション


ユーザー・ハンドルを作成します。

set_user_handle_propertiesファンクション


指定したプロパティをユーザー・ハンドルに関連付けます。

get_user_propertiesファンクション


LDAPサーバーからユーザー・プロパティを取得します。

set_user_propertiesファンクション


ユーザーのプロパティを変更します。

get_user_extended_propertiesファンクション


ユーザーの拡張プロパティを取得します。

get_user_dnファンクション


ユーザーの識別名を取得します。

check_group_membershipファンクション


ユーザーが、指定されたグループのメンバーであるかどうかをチェックします。

locate_subscriber_for_userファンクション


指定したユーザーのサブスクライバを取得します。

get_group_membershipファンクション


ユーザーがメンバーとなっているグループのリストを取得します。


表11-2 DBMS_LDAP_UTLのグループ関連サブプログラム

ファンクションまたはプロシージャ 用途

create_group_handleファンクション

グループ・ハンドルを作成します。

set_group_handle_propertiesファンクション


指定したプロパティをグループ・ハンドルに関連付けます。

get_group_propertiesファンクション


LDAPサーバーからグループ・プロパティを取得します。

get_group_dnファンクション


グループの識別名を取得します。


表11-3 DBMS_LDAP_UTLのサブスクライバ関連サブプログラム

ファンクションまたはプロシージャ 用途

create_subscriber_handleファンクション


サブスクライバ・ハンドルを作成します。

get_subscriber_propertiesファンクション


LDAPサーバーからサブスクライバ・プロパティを取得します。

get_subscriber_dnファンクション


サブスクライバの識別名を取得します。


表11-4 DBMS_LDAP_UTLのその他のサブプログラム

ファンクションまたはプロシージャ 用途

normalize_dn_with_caseファンクション


識別名の文字列を正規化します。

get_property_namesファンクション


PROPERTY_SETのプロパティ名のリストを取得します。

get_property_valuesファンクション


プロパティ名の値リストを取得します。

get_property_values_blobファンクション


プロパティ名のラージ・バイナリ値のリストを取得します。

property_value_free_blobプロシージャ


DBMS_LDAP_UTL.get_property_values_blob()によって戻されたBLOB_COLLECTIONに関連付けられているメモリーを解放します。

get_property_values_lenファンクション


プロパティ名のバイナリ値のリストを取得します。

free_propertyset_collectionプロシージャ


PROPERTY_SET_COLLECTIONを解放します。

create_mod_propertysetファンクション


MOD_PROPERTY_SETを作成します。

populate_mod_propertysetファンクション


MOD_PROPERTY_SET構造体に移入します。

free_mod_propertysetプロシージャ


MOD_PROPERTY_SETを解放します。

free_handleプロシージャ


ハンドルを解放します。

check_interface_versionファンクション


インタフェースのバージョンに関するサポートをチェックします。


11.2 サブプログラム

この項の項目は次のとおりです。

11.2.1 ユーザー関連サブプログラム

ユーザーは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_handleo=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
);

11.2.1.1 authenticate_userファンクション

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

認証のタイプ。有効な値はDBMS_LDAP_UTL.AUTH_SIMPLEのみです。

credentials
VARCHAR2

ユーザー資格証明。

binary_credentials
RAW

バイナリ資格証明。このパラメータはオプションです。デフォルトでNULLにできます。


戻り値

表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エラー・コードを戻します。


使用方法

このファンクションは、DBMS_LDAP.init()のコールで有効なLDAPセッションを取得してからコールしてください。

関連項目

DBMS_LDAP.init()DBMS_LDAP_UTL.create_user_handle()

11.2.1.2 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のタイプ。この引数に有効な値は、次のとおりです。

  • DBMS_LDAP_UTL.TYPE_DN

  • DBMS_LDAP_UTL.TYPE_GUID

  • DBMS_LDAP_UTL.TYPE_NICKNAME

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()

11.2.1.3 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

渡されるプロパティのタイプ。この引数に有効な値はDBMS_LDAP_UTL.SUBSCRIBER_HANDLEです。

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()

11.2.1.4 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

戻すプロパティのタイプ。有効な値は次のとおりです。

  • DBMS_LDAP_UTL.ENTRY_PROPERTIES

  • DBMS_LDAP_UTL.NICKNAME_PROPERTY

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操作中に発生した無条件の障害に対して、適切なDBMS_LDAPエラー・コードを戻します。


使用方法

このファンクションには、次の要件があります。

  • 有効なLDAPセッション・ハンドル。これはDBMS_LDAP.init()ファンクションで取得する必要があります。

  • ユーザーのタイプがDBMS_LDAP_UTL.TYPE_NICKNAMEの場合は、グループ・ハンドルのプロパティに有効なサブスクライバ・ハンドルの設定が必要です。

このファンクションは、NULLのサブスクライバ・ハンドルをデフォルト・サブスクライバとして識別しません。デフォルト・サブスクライバは、引数にNULLsubscriber_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()

11.2.1.5 set_user_propertiesファンクション

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

変更するプロパティ・セットのタイプ。有効な値はENTRY_PROPERTIESです。

mod_pset
PROPERTY_SET

プロパティ・セットに対して実行する変更操作が含まれているデータ構造です。

mod_op
PLS_INTEGER

プロパティ・セットに対して実行する変更操作のタイプ。有効な値は次のとおりです。

  • ADD_PROPERTYSET

  • MODIFY_PROPERTYSET

  • DELETE_PROPERTYSET


戻り値

表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エラー・コードを戻します。


使用方法

このファンクションは、DBMS_LDAP.init()のコールで有効なLDAPセッションを取得してからコールしてください。

関連項目

DBMS_LDAP.init()DBMS_LDAP_UTL.get_user_properties()

11.2.1.6 get_user_extended_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

戻すプロパティのタイプ。有効な値はDBMS_LDAP_UTL.EXTPROPTYPE_RADです。

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エラー・コードを戻します。


使用方法

このファンクションは、DBMS_LDAP.init()のコールで有効なLDAPセッションを取得してからコールしてください。

関連項目

DBMS_LDAP.init()DBMS_LDAP_UTL.get_user_properties()

11.2.1.7 get_user_dnファンクション

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エラー・コード

LDAP操作中に発生した無条件の障害に対して、適切なDBMS_LDAPエラー・コードを戻します。


使用方法

このファンクションは、DBMS_LDAP.init()のコールで有効なLDAPセッションを取得してからコールしてください。

関連項目

DBMS_LDAP.init()

11.2.1.8 check_group_membershipファンクション

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

ユーザーがグループ内で保持しているメンバーシップのタイプ。有効な値は次のとおりです。

  • DBMS_LDAP_UTL.NESTED_MEMBERSHIP

  • DBMS_LDAP_UTL.DIRECT_MEMBERSHIP


戻り値

表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()

11.2.1.9 locate_subscriber_for_userファンクション

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エラー・コードを戻します。


使用方法

このファンクションは、DBMS_LDAP.init()のコールで有効なLDAPセッションを取得してからコールしてください。

関連項目

DBMS_LDAP.init()DBMS_LDAP_UTL.create_user_handle()

11.2.1.10 get_group_membershipファンクション

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

ユーザーがグループ内で保持しているメンバーシップのタイプ。有効な値は次のとおりです。

  • DBMS_LDAP_UTL.NESTED_MEMBERSHIP

  • DBMS_LDAP_UTL.DIRECT_MEMBERSHIP

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()

11.2.2 グループ関連サブプログラム

グループは、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
);

11.2.2.1 create_group_handleファンクション

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のタイプ。この引数に有効な値は、次のとおりです。

  • DBMS_LDAP_UTL.TYPE_DN

  • DBMS_LDAP_UTL.TYPE_GUID

  • DBMS_LDAP_UTL.TYPE_NICKNAME

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()

11.2.2.2 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

渡されるプロパティのタイプ。この引数に有効な値はDBMS_LDAP_UTL.GROUP_HANDLEです。

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()

11.2.2.3 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

戻されるプロパティのタイプ。有効な値はDBMS_LDAP_UTL.ENTRY_PROPERTIESです。

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エラー・コードを戻します。


使用方法

このファンクションには、次の要件があります。

  • 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()

11.2.2.4 get_group_dnファンクション

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エラー・コードを戻します。


使用方法

このファンクションは、DBMS_LDAP.init()のコールで有効なLDAPセッションを取得してからコールしてください。

関連項目

DBMS_LDAP.init()

11.2.3 サブスクライバ関連サブプログラム

サブスクライバは、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
);

11.2.3.1 create_subscriber_handleファンクション

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のタイプ。この引数に有効な値は、次のとおりです。

  • DBMS_LDAP_UTL.TYPE_DN

  • DBMS_LDAP_UTL.TYPE_GUID

  • DBMS_LDAP_UTL.TYPE_NICKNAME

  • DBMS_LDAP_UTL.TYPE_DEFAULT

subscriber_id
VARCHAR2

サブスクライバ・エントリを表すサブスクライバIDです。subscriber_typeDBMS_LDAP_UTL.TYPE_DEFAULTの場合は、このパラメータをNULLにできます。その場合、デフォルト・サブスクライバはルートのOracleコンテキストから取得されます。


戻り値

表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()

11.2.3.2 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コンテキストのプロパティ。有効な値は次のとおりです。

  • DBMS_LDAP_UTL.ENTRY_PROPERTIES

  • DBMS_LDAP_UTL.COMMON_PROPERTIES

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エラー・コードを戻します。


使用方法

このファンクションは、DBMS_LDAP.init()のコールで有効なLDAPセッションを取得してからコールしてください。

関連項目

DBMS_LDAP.init()DBMS_LDAP_UTL.create_subscriber_handle()

11.2.3.3 get_subscriber_dnファンクション

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エラー・コードを戻します。


使用方法

このファンクションは、DBMS_LDAP.init()のコールで有効なLDAPセッションを取得してからコールしてください。

関連項目

DBMS_LDAP.init()

11.2.3.4 get_subscriber_ext_propertiesファンクション

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

戻すプロパティのタイプ。有効な値はDBMS_LDAP_UTL.DEFAULT_RAD_PROPERTIESです。

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エラー・コード

LDAP操作中に発生した無条件の障害に対して、適切なDBMS_LDAPエラー・コードを戻します。


使用方法

このファンクションは、DBMS_LDAP.init()のコールで有効なLDAPセッションを取得してからコールしてください。

関連項目: DBMS_LDAP.init()DBMS_LDAP_UTL.get_subscriber_properties()

11.2.4 プロパティ関連サブプログラム

ユーザー関連、サブスクライバ関連およびグループ関連のサブプログラムの多くは、結果を表す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を出力します。

11.2.5 その他のサブプログラム

DBMS_LDAP_UTLパッケージのその他のサブプログラムは、様々な機能を実行します。

11.2.5.1 normalize_dn_with_caseファンクション

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

1に設定した場合、正規化された識別名が小文字で戻されます。0(ゼロ)に設定した場合、正規化された識別名の文字列がそのまま戻されます。

norm_dn
VARCHAR2

正規化された識別名です。


戻り値

表11-42 NORMALIZE_DN_WITH_CASEファンクションの戻り値

説明
DBMS_LDAP_UTL.SUCCESS

正常終了した場合の戻り値です。

DBMS_LDAP_UTL.PARAM_ERROR

入力パラメータが無効です。

DBMS_LDAP_UTL.GENERAL_ERROR

障害時の戻り値です。


使用方法

このファンクションは、2つの識別名を比較する際に使用できます。

11.2.5.2 get_property_namesファンクション

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内のプロパティ・セットです。

  • DBMS_LDAP_UTL.get_group_membership()

  • DBMS_LDAP_UTL.get_subscriber_properties()

  • DBMS_LDAP_UTL.get_user_properties()

  • DBMS_LDAP_UTL.get_group_properties()

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()

11.2.5.3 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内のプロパティ・セットです。

  • DBMS_LDAP_UTL.get_group_membership()

  • DBMS_LDAP_UTL.get_subscriber_properties()

  • DBMS_LDAP_UTL.get_user_properties()

  • DBMS_LDAP_UTL.get_group_properties()

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()

11.2.5.4 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内のプロパティ・セットです。

  • DBMS_LDAP_UTL.get_group_membership()

  • DBMS_LDAP_UTL.get_subscriber_properties()

  • DBMS_LDAP_UTL.get_user_properties()

  • DBMS_LDAP_UTL.get_group_properties()

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()

11.2.5.5 free_propertyset_collectionプロシージャ

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()


関連項目

DBMS_LDAP_UTL.get_group_membership()DBMS_LDAP_UTL.get_subscriber_properties()DBMS_LDAP_UTL.get_user_properties()DBMS_LDAP_UTL.get_group_properties()

11.2.5.6 create_mod_propertysetファンクション

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

変更するプロパティ・セットのタイプ。有効な値はENTRY_PROPERTIESです。

pset_name
VARCHAR2

プロパティ・セットの名前。ENTRY_PROPERTIESが変更されている場合は、このパラメータをNULLにできます。

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()

11.2.5.7 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

プロパティに対して実行する変更操作のタイプ。有効な値は次のとおりです。

  • ADD_PROPERTY

  • REPLACE_PROPERTY

  • DELETE_PROPERTY

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()

11.2.5.8 free_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

Mod_PropertySetデータ構造です。


関連項目

DBMS_LDAP_UTL.create_mod_propertyset()

11.2.5.9 free_handleプロシージャ

free_handle()プロシージャでは、ハンドルに関連付けられているメモリーを解放します。

構文

PROCEDURE free_handle
(
handle IN OUT HANDLE
);

パラメータ

表11-55 FREE_HANDLEプロシージャのパラメータ

パラメータ名 パラメータ・タイプ パラメータの説明
handle
HANDLE

ハンドルへのポインタです。


関連項目

DBMS_LDAP_UTL.create_user_handle()DBMS_LDAP_UTL.create_subscriber_handle()DBMS_LDAP_UTL.create_group_handle()

11.2.5.10 check_interface_versionファンクション

check_interface_version()ファンクションでは、インタフェースのバージョンをチェックします。

構文

FUNCTION check_interface_version
(
interface_version IN VARCHAR2
)
RETURN PLS_INTEGER;

パラメータ

表11-56 CHECK_INTERFACE_VERSIONファンクションのパラメータ

パラメータ名 パラメータ・タイプ パラメータの説明
interface_version
VARCHAR2

インタフェースのバージョンです。


戻り値

表11-57 CHECK_VERSION_INTERFACEファンクションの戻り値

説明
DBMS_LDAP_UTL.SUCCESS

インタフェースのバージョンはサポートされています。

DBMS_LDAP_UTL.GENERAL_ERROR

インタフェースのバージョンはサポートされていません。


11.2.5.11 get_property_values_blobファンクション

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内のプロパティ・セットです。

  • DBMS_LDAP_UTL.get_group_membership()

  • DBMS_LDAP_UTL.get_subscriber_properties()

  • DBMS_LDAP_UTL.get_user_properties()

  • DBMS_LDAP_UTL.get_group_properties()

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()

11.2.5.12 property_value_free_blobプロシージャ

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.get_property_values_blob()

11.3 ファンクション・リターン・コードの概要

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

ユーザー・アカウントがロックされている場合は、DBMS_LDAP_UTL.authenticate_user()ファンクションからこのコードが戻されます。このエラーは、サブスクライバのOracleコンテキストに設定されているパスワード・ポリシーに基づいています。

AUTH_PASSWD_CHANGE_WARN
-15

このリターン・コードは非推奨です。

AUTH_FAILURE_EXCEPTION
-16

ユーザーの認証に失敗した場合は、DBMS_LDAP_UTL.authenticate_user()ファンクションからこのコードが戻されます。

PWD_EXPIRED_EXCEPTION
-17

ユーザー・パスワードが期限切れの場合は、DBMS_LDAP_UTL.authenticate_user()ファンクションからこのコードが戻されます。これは、パスワード・ポリシー・エラーです。

RESET_HANDLE
-18

エントリ・ハンドルのプロパティをコール元がリセットしようとしている場合は、このコードが戻されます。

SUBSCRIBER_NOT_FOUND
-19

サブスクライバの位置を特定できない場合は、DBMS_LDAP-UTL.locate_subscriber_for_user()ファンクションからこのコードが戻されます。

PWD_EXPIRE_WARN
-20

ユーザー・パスワードの期限切れが近い場合は、DBMS_LDAP_UTL.authenticate_user()ファンクションからこのコードが戻されます。これは、パスワード・ポリシー・エラーです。

PWD_MINLENGTH_ERROR
-21

ユーザー・パスワードの変更時に、新規ユーザー・パスワードが最低限の長さに達していない場合は、DBMS_LDAP_UTL.set_user_properties()ファンクションからこのコードが戻されます。これは、パスワード・ポリシー・エラーです。

PWD_NUMERIC_ERROR
-22

ユーザー・パスワードの変更時に、新規ユーザー・パスワードに最低1文字の数字が含まれていない場合は、DBMS_LDAP_UTL.set_user_properties()ファンクションからこのコードが戻されます。これは、パスワード・ポリシー・エラーです。

PWD_NULL_ERROR
-23

ユーザー・パスワードの変更時に、新規ユーザー・パスワードに空のパスワードが指定された場合は、DBMS_LDAP_UTL.set_user_properties()ファンクションからこのコードが戻されます。これは、パスワード・ポリシー・エラーです。

PWD_INHISTORY_ERROR
-24

ユーザー・パスワードの変更時に、新規ユーザー・パスワードに以前と同じパスワードが指定された場合は、DBMS_LDAP_UTL.set_user_properties()ファンクションからこのコードが戻されます。これは、パスワード・ポリシー・エラーです。

PWD_ILLEGALVALUE_ERROR
-25

ユーザー・パスワードの変更時に、新規ユーザー・パスワードに無効な文字が指定された場合は、DBMS_LDAP_UTL.set_user_properties()ファンクションからこのコードが戻されます。これは、パスワード・ポリシー・エラーです。

PWD_GRACELOGIN_WARN
-26

ユーザー・パスワードが期限切れで、ユーザーに猶予期間ログインが指定されている場合は、DBMS_LDAP_UTL.authenticate_user()ファンクションからこのコードが戻されます。これは、パスワード・ポリシー・エラーです。

PWD_MUSTCHANGE_ERROR
-27

ユーザー・パスワードの変更が必要な場合は、DBMS_LDAP_UTL.authenticate_user()ファンクションからこのコードが戻されます。これは、パスワード・ポリシー・エラーです。

USER_ACCT_DISABLED_ERROR
-29

ユーザー・アカウントが無効な場合は、DBMS_LDAP_UTL.authenticate_user()ファンクションからこのコードが戻されます。これは、パスワード・ポリシー・エラーです。

PROPERTY_NOT_FOUND
-30

ディレクトリでユーザー・プロパティを検索している場合は、ユーザー関連のファンクションからこのコードが戻されます。


11.4 データ型の概要

DBMS_LDAP_UTLパッケージでは、次のデータ型が使用されます。

表11-62 DBMS_LDAP_UTLのデータ型

データ型 用途
HANDLE

エンティティの保持に使用されます。

PROPERTY_SET

エンティティに関するプロパティの保持に使用されます。

PROPERTY_SET_COLLECTION

PROPERTY_SET構造体のリストです。

MOD_PROPERTY_SET

エンティティに対する変更操作を保持する構造体です。