11 DBMS_LDAP_UTL PL/SQLリファレンス
DBMS_LDAP_UTL
パッケージには、ユーザー、グループおよびサブスクライバ向けのOracle拡張機能ユーティリティ・ファンクションが収められています。11.1 サブプログラムの概要
サブプログラムは、ユーザー、グループおよびサブスクライバから情報を取得するために使用されます。
次の各トピックでは、様々なレベルでのサブプログラムの概要を示します。
11.1.1 dbms_ldap_utlのユーザー関連サブプログラム
dbms_ldap_utl
のユーザー関連サブプログラムは、認証、LDAPサーバーからのユーザー・プロパティの取得および変更に使用されます。
表11-1に、dbms_ldap_utl
のユーザー関連サブプログラムの説明を示します。
表11-1 DBMS_LDAP_UTLのユーザー関連サブプログラム
ファンクションまたはプロシージャ | 用途 |
---|---|
LDAPサーバーに対してユーザーを認証します。 |
|
ユーザー・ハンドルを作成します。 |
|
指定したプロパティをユーザー・ハンドルに関連付けます。 |
|
LDAPサーバーからユーザー・プロパティを取得します。 |
|
ユーザーのプロパティを変更します。 |
|
ユーザーの拡張プロパティを取得します。 |
|
ユーザーの識別名を取得します。 |
|
ユーザーが、指定されたグループのメンバーであるかどうかをチェックします。 |
|
指定したユーザーのサブスクライバを取得します。 |
|
ユーザーがメンバーとなっているグループのリストを取得します。 |
11.1.2 dbms_ldap_utlのグループ関連サブプログラム
dbms_ldap_utl
のグループ関連サブプログラムは、LDAPサーバーからの情報の作成および取得に使用されます。
表11-2に、dbms_ldap_utl
のグループ関連サブプログラムの説明を示します。
表11-2 DBMS_LDAP_UTLのグループ関連サブプログラム
ファンクションまたはプロシージャ | 用途 |
---|---|
グループ・ハンドルを作成します。 |
|
指定したプロパティをグループ・ハンドルに関連付けます。 |
|
LDAPサーバーからグループ・プロパティを取得します。 |
|
グループの識別名を取得します。 |
11.1.3 dbms_ldap_utlのサブスクライバ関連サブプログラム
dbms_ldap_utl
のサブスクライバ関連サブプログラムは、LDAPサーバーからのサブスクライバ・プロパティの作成および取得に使用されます。
表11-3に、dbms_ldap_utl
のサブスクライバ関連サブプログラムの説明を示します。
表11-3 DBMS_LDAP_UTLのサブスクライバ関連サブプログラム
ファンクションまたはプロシージャ | 用途 |
---|---|
サブスクライバ・ハンドルを作成します。 |
|
LDAPサーバーからサブスクライバ・プロパティを取得します。 |
|
サブスクライバの識別名を取得します。 |
11.1.4 dbms_ldap_utlのその他のサブプログラム
dbms_ldap_utl
のその他のサブプログラムは、プロパティのプロパティ名やバイナリ値などのリストの取得に使用されます。
表11-4に、dbms_ldap_utl
のその他のサブプログラムの説明を示します。
表11-4 DBMS_LDAP_UTLのその他のサブプログラム
ファンクションまたはプロシージャ | 用途 |
---|---|
識別名の文字列を正規化します。 |
|
|
|
プロパティ名の値リストを取得します。 |
|
プロパティ名のラージ・バイナリ値のリストを取得します。 |
|
|
|
プロパティ名のバイナリ値のリストを取得します。 |
|
|
|
|
|
|
|
|
|
ハンドルを解放します。 |
|
インタフェースのバージョンに関するサポートをチェックします。 |
11.2 サブプログラムの処理
DBMS_LDAP_UTL
パッケージには、ユーザー、グループ、プロパティおよびサブスクライバに関連するサブプログラムが収められています。
次の各トピックでは、DBMS_LDAP_UTL
パッケージで使用できる様々なサブプログラムについて説明します。
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_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 );
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.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.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.3 ファンクション・リターン・コードの概要
DBMS_LDAP_UTL
パッケージには、エラー・コードを戻すファンクションが含まれます。
表11-5 ファンクション・リターン・コード
名前 | リターン・コード | 説明 |
---|---|---|
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 |
ディレクトリでユーザー・プロパティを検索している場合は、ユーザー関連のファンクションからこのコードが戻されます。 |
11.4 データ型の概要
DBMS_LDAP_UTL
パッケージには、エンティティおよびエンティティのプロパティを保持するデータ型が含まれます。
DBMS_LDAP_UTL
パッケージでは、次のデータ型が使用されます。:
表11-6 DBMS_LDAP_UTLのデータ型
データ型 | 用途 |
---|---|
HANDLE |
エンティティの保持に使用されます。 |
PROPERTY_SET |
エンティティに関するプロパティの保持に使用されます。 |
PROPERTY_SET_COLLECTION |
|
MOD_PROPERTY_SET |
エンティティに対する変更操作を保持する構造体です。 |
11.5 ユーザー関連サブプログラム
ユーザーはDBMS_LDAP_UTL.HANDLE
データ型で表現されます。適切なサブスクライバ・ハンドルの作成に加え、識別名、GUIDまたは単純な名前を使用してユーザー・ハンドルを作成できます。
単純な名前を使用すると、ルートのOracleコンテキストおよびサブスクライバのOracleコンテキストの追加情報がユーザーの識別に使用されます。
次の各トピックでは、ユーザー関連サブプログラムについて説明します。
11.5.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;
パラメータ
次の表に、authenticate_userファンクションのパラメータを示します。
表11-7 authenticate_userファンクションのパラメータ
パラメータ名 | パラメータ・タイプ | パラメータの説明 |
---|---|---|
ld |
SESSION |
有効なLDAPセッション・ハンドルです。 |
user_handle |
HANDLE |
ユーザー・ハンドルです。 |
auth_type |
PLS_INTEGER |
認証のタイプ。有効な値は |
credentials |
VARCHAR2 |
ユーザー資格証明。 |
binary_credentials |
RAW |
バイナリ資格証明。このパラメータはオプションです。デフォルトで |
戻り値
次の表に、authenticate_userファンクションの戻り値を示します。
表11-8 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()
。
11.5.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;
パラメータ
次の表に、create_user_handleファンクションのパラメータを示します。
表11-9 CREATE_USER_HANDLEファンクションのパラメータ
パラメータ名 | パラメータ・タイプ | パラメータの説明 |
---|---|---|
user_hd |
HANDLE |
ユーザーのハンドルへのポインタです。 |
user_type |
PLS_INTEGER |
渡されるユーザーIDのタイプ。この引数に有効な値は、次のとおりです。
|
user_id |
VARCHAR2 |
ユーザー・エントリを表すユーザーIDです。 |
戻り値
次の表に、create_user_handleファンクションのパラメータを示します。
表11-10 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.5.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-11 SET_USER_HANDLE_PROPERTIESファンクションのパラメータ
パラメータ名 | パラメータ・タイプ | パラメータの説明 |
---|---|---|
user_hd |
HANDLE |
ユーザーのハンドルへのポインタです。 |
property_type |
PLS_INTEGER |
渡されるプロパティのタイプ。この引数に有効な値は |
property |
HANDLE |
ユーザー・エントリを記述するプロパティです。 |
戻り値
次の表に、set_user_handle_propertiesファンクションの戻り値を示します。
表11-12 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.5.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;
パラメータ
次の表に、get_user_propertiesファンクションのパラメータを示します。
表11-13 GET_USER_PROPERTIESファンクションのパラメータ
パラメータ名 | パラメータ・タイプ | パラメータの説明 |
---|---|---|
ld |
SESSION |
有効なLDAPセッション・ハンドルです。 |
user_handle |
HANDLE |
ユーザー・ハンドルです。 |
attrs |
STRING_COLLECTION |
取得するユーザー属性のリストです。 |
ptype |
PLS_INTEGER |
戻すプロパティのタイプ。有効な値は次のとおりです。
|
ret-pset_collection |
PROPERTY_SET_COLLECTION |
コール元がリクエストした属性に含まれているユーザーの詳細です。 |
戻り値
次の表に、get_user_propertiesファンクションの戻り値を示します。
表11-14 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()
。
11.5.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;
パラメータ
次の表に、set_user_propertiesファンクションのパラメータを示します。
表11-15 SET_USER_PROPERTIESファンクションのパラメータ
パラメータ名 | パラメータ・タイプ | 説明 |
---|---|---|
ld |
SESSION |
有効なLDAPセッション・ハンドルです。 |
user_handle |
HANDLE |
ユーザー・ハンドルです。 |
pset_type |
PLS_INTEGER |
変更するプロパティ・セットのタイプ。有効な値は |
mod_pset |
PROPERTY_SET |
プロパティ・セットに対して実行する変更操作が含まれているデータ構造です。 |
mod_op |
PLS_INTEGER |
プロパティ・セットに対して実行する変更操作のタイプ。有効な値は次のとおりです。
|
戻り値
次の表に、set_user_propertiesの戻り値を示します。
表11-16 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()
。
11.5.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;
パラメータ
次の表に、get_user_extended_propertiesファンクションのパラメータを示します。
表11-17 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 |
コール元がリクエストした属性が含まれているユーザーの詳細です。 |
戻り値
次の表に、get_user_extended_propertiesファンクションの戻り値を示します。
表11-18 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()
。
11.5.7 get_user_dnファンクション
get_user_dn()
ファンクションでは、ユーザーの識別名を戻します。
構文
FUNCTION get_user_dn ( ld IN SESSION, user_handle IN HANDLE, dn OUT VARCHAR2 ) RETURN PLS_INTEGER;
パラメータ
次の表に、get_user_dnのパラメータを示します。
表11-19 GET_USER_DNファンクションのパラメータ
パラメータ名 | パラメータ・タイプ | パラメータの説明 |
---|---|---|
ld |
SESSION |
有効なLDAPセッション・ハンドルです。 |
user_handle |
HANDLE |
ユーザー・ハンドルです。 |
dn |
VARCHAR2 |
ユーザーの識別名です。 |
戻り値
次の表に、get_user_dnファンクションの戻り値を示します。
表11-20 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()
。
11.5.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;
パラメータ
次の表に、check_group_membershipファンクションのパラメータを示します。
表11-21 CHECK_GROUP_MEMBERSHIPファンクションのパラメータ
パラメータ名 | パラメータ・タイプ | パラメータの説明 |
---|---|---|
ld |
SESSION |
有効なLDAPセッション・ハンドルです。 |
user_handle |
HANDLE |
ユーザー・ハンドルです。 |
group_handle |
HANDLE |
グループ・ハンドルです。 |
nested |
PLS_INTEGER |
ユーザーがグループ内で保持しているメンバーシップのタイプ。有効な値は次のとおりです。
|
戻り値
次の表に、check_group_membershipファンクションの戻り値を示します。
表11-22 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.5.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;
パラメータ
次の表に、locate_subscriber_for_userファンクションのパラメータを示します。
表11-23 LOCATE_SUBSCRIBER_FOR_USERファンクションのパラメータ
パラメータ名 | パラメータ・タイプ | パラメータの説明 |
---|---|---|
ld |
SESSION |
有効なLDAPセッション・ハンドルです。 |
user_handle |
HANDLE |
ユーザー・ハンドルです。 |
subscriber_handle |
HANDLE |
サブスクライバ・ハンドルです。 |
戻り値
次の表に、locate subscriber for userファンクションの戻り値を示します。
表11-24 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()
。
11.5.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;
パラメータ
次の表に、get_group_membershipファンクションのパラメータを示します。
表11-25 GET_GROUP_MEMBERSHIPファンクションのパラメータ
パラメータ名 | パラメータ・タイプ | パラメータの説明 |
---|---|---|
ld |
SESSION |
有効なLDAPセッション・ハンドルです。 |
user_handle |
HANDLE |
ユーザー・ハンドルです。 |
nested |
PLS_INTEGER |
ユーザーがグループ内で保持しているメンバーシップのタイプ。有効な値は次のとおりです。
|
attr_list |
STRING_COLLECTION |
戻される属性のリストです。 |
ret_groups |
PROPERTY_SET_COLLECTION |
グループ・エントリの配列へのポインタを指すポインタです。 |
戻り値
次の表に、get_group_membershipファンクションの戻り値を示します。
表11-26 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.6 グループ関連サブプログラム
グループは、DBMS_LDAP_UTL.HANDLE
データ型を使用して表されます。グループ・ハンドルは、有効なグループ・エントリを表します。適切なサブスクライバ・ハンドルの作成に加え、識別名、GUIDまたは単純な名前を使用してグループ・ハンドルを作成できます。
単純な名前を使用すると、ルートのOracleコンテキストおよびサブスクライバのOracleコンテキストの追加情報がグループの識別に使用されます。
次の各トピックでは、グループ関連サブプログラムについて説明します。
11.6.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;
パラメータ
次の表に、create_group_handleファンクションのパラメータを示します。
表11-27 CREATE_GROUP_HANDLEファンクションのパラメータ
パラメータ名 | パラメータ・タイプ | パラメータの説明 |
---|---|---|
group_hd |
HANDLE |
グループのハンドルへのポインタです。 |
group_type |
PLS_INTEGER |
渡されるグループIDのタイプ。この引数に有効な値は、次のとおりです。
|
group_id |
VARCHAR2 |
グループ・エントリを表すグループIDです。 |
戻り値
次の表に、create_group_handleファンクションの戻り値を示します。
表11-28 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.6.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;
パラメータ
次の表に、set_group_handle_propertiesファンクションのパラメータを示します。
表11-29 SET_GROUP_HANDLE_PROPERTIESファンクションのパラメータ
パラメータ名 | パラメータ・タイプ | パラメータの説明 |
---|---|---|
group_hd |
HANDLE |
グループのハンドルへのポインタです。 |
property_type |
PLS_INTEGER |
渡されるプロパティのタイプ。この引数に有効な値は |
property |
HANDLE |
グループ・エントリを記述するプロパティです。 |
戻り値
次の表に、set_group_handle_propertiesファンクションの戻り値を示します。
表11-30 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.6.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;
パラメータ
次の表に、get_group_propertiesファンクションのパラメータを示します。
表11-31 GET_GROUP_PROPERTIESファンクションのパラメータ
パラメータ名 | パラメータ・タイプ | パラメータの説明 |
---|---|---|
ld |
SESSION |
有効なLDAPセッション・ハンドルです。 |
group_handle |
HANDLE |
グループ・ハンドルです。 |
attrs |
STRING_COLLECTION |
グループに対してフェッチする必要がある属性のリストです。 |
ptype |
PLS_INTEGER |
戻されるプロパティのタイプ。有効な値は |
ret_pset_coll |
PROPERTY_SET_COLLECTION |
コール元がリクエストした属性が含まれているグループの詳細です。 |
戻り値
次の表に、get_group_propertiesファンクションの戻り値を示します。
表11-32 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()
。
11.6.4 get_group_dnファンクション
get_group_dn()
ファンクションでは、グループの識別名を戻します。
構文
FUNCTION get_group_dn ( ld IN SESSION, group_handle IN HANDLE dn OUT VARCHAR2 ) RETURN PLS_INTEGER;
パラメータ
次の表に、get_group_dnファンクションのパラメータを示します。
表11-33 GET_GROUP_DNファンクションのパラメータ
パラメータ名 | パラメータ・タイプ | パラメータの説明 |
---|---|---|
ld |
SESSION |
有効なLDAPセッション・ハンドルです。 |
group_handle |
HANDLE |
グループ・ハンドルです。 |
dn |
VARCHAR2 |
グループの識別名です。 |
戻り値
次の表に、get_group_dnファンクションの戻り値を示します。
表11-34 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()
。
11.7 サブスクライバ関連サブプログラム
サブスクライバは、dbms_ldap_utl.handle
データ型を使用して表されます。サブスクライバ・ハンドルは、識別名、GUIDまたは単純な名前を使用して作成できます。
単純な名前を使用すると、ルートのOracleコンテキストの追加情報がサブスクライバの識別に使用されます。
次に、サブスクライバ関連サブプログラムについて説明します。
11.7.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;
パラメータ
次の表に、create_subscriber_handleファンクションのパラメータを示します。
表11-35 CREATE_SUBSCRIBER_HANDLEファンクションのパラメータ
パラメータ名 | パラメータ・タイプ | パラメータの説明 |
---|---|---|
subscriber_hd |
HANDLE |
サブスクライバのハンドルへのポインタです。 |
subscriber_type |
PLS_INTEGER |
渡されるサブスクライバIDのタイプ。この引数に有効な値は、次のとおりです。
|
subscriber_id |
VARCHAR2 |
サブスクライバ・エントリを表すサブスクライバIDです。 |
戻り値
次の表に、create_subscriber_handleファンクションの戻り値を示します。
表11-36 CREATE_SUBSCRIBER_HANDLEファンクションの戻り値
値 | 説明 |
---|---|
DBMS_LDAP_UTL.SUCCESS |
正常終了した場合の戻り値です。 |
DBMS_LDAP_UTL.PARAM_ERROR |
入力パラメータが無効です。 |
DBMS_LDAP_UTL.GENERAL_ERROR |
その他のエラーです。 |
使用上のノート
なし
関連ファンクション
DBMS_LDAP_UTL.get_subscriber_properties()
。
11.7.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;
パラメータ
次の表に、get_subscriber_propertiesファンクションのパラメータを示します。
表11-37 GET_SUBSCRIBER_PROPERTIESファンクションのパラメータ
パラメータ名 | パラメータ・タイプ | パラメータの説明 |
---|---|---|
ld |
SESSION |
有効なLDAPセッション・ハンドルです。 |
subscriber_handle |
HANDLE |
サブスクライバ・ハンドルです。 |
attrs |
STRING_COLLECTION |
サブスクライバに対して取得する必要がある属性のリストです。 |
ptype |
PLS_INTEGER |
戻すサブスクライバのOracleコンテキストのプロパティ。有効な値は次のとおりです。
|
ret_pset_coll |
PROPERTY_SET_COLLECTION |
コール元がリクエストした属性が含まれているサブスクライバの詳細です。 |
戻り値
次の表に、get_subscriber_propertiesファンクションの戻り値を示します。
表11-38 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()
。
11.7.3 get_subscriber_dnファンクション
get_subscriber_dn()
ファンクションでは、サブスクライバの識別名を戻します。
構文
FUNCTION get_subscriber_dn ( ld IN SESSION, subscriber_handle IN HANDLE, dn OUT VARCHAR2 ) RETURN PLS_INTEGER;
パラメータ
次の表に、get_subscriber_dnファンクションのパラメータを示します。
表11-39 GET_SUBSCRIBER_DNファンクションのパラメータ
パラメータ名 | パラメータ・タイプ | パラメータの説明 |
---|---|---|
ld |
SESSION |
有効なLDAPセッション・ハンドルです。 |
subscriber_handle |
HANDLE |
サブスクライバ・ハンドルです。 |
dn |
VARCHAR2 |
サブスクライバの識別名です。 |
戻り値
次の表に、get_subscriber_dnファンクションの戻り値を示します。
表11-40 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()
。
11.7.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;
パラメータ
次の表に、get_subscriber_ext_propertiesファンクションのパラメータを示します。
表11-41 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 |
コール元がリクエストした属性が含まれているサブスクライバの詳細です。 |
戻り値
次の表に、get_user_extended_propertiesファンクションの戻り値を示します。
表11-42 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()
。
11.8 プロパティ関連サブプログラム
ユーザー関連、サブスクライバ関連およびグループ関連のサブプログラムの多くは、結果を表す1つ以上のLDAPエントリのコレクションであるDBMS_LDAP_UTL.PROPERTY_SET_COLLECTION
を戻します。
これらの各エントリは、DBMS_LDAP_UTL.PROPERTY_SET
で表されます。PROPERTY_SET
には属性(つまり、プロパティ)とその値が含まれる場合があります。
11.9 その他のサブプログラム
DBMS_LDAP_UTL
パッケージのその他のサブプログラムは、様々な機能を実行します。
次に、その他のサブプログラムについて説明します。
11.9.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;
パラメータ
次の表に、normalize_dn_with_caseファンクションのパラメータを示します。
表11-43 NORMALIZE_DN_WITH_CASEファンクションのパラメータ
パラメータ名 | パラメータ・タイプ | パラメータの説明 |
---|---|---|
dn |
VARCHAR2 |
識別名を指定します。 |
lower_case |
PLS_INTEGER |
|
norm_dn |
VARCHAR2 |
正規化された識別名です。 |
戻り値
次の表に、normalize_dn_with_caseファンクションの戻り値を示します
表11-44 NORMALIZE_DN_WITH_CASEファンクションの戻り値
値 | 説明 |
---|---|
DBMS_LDAP_UTL.SUCCESS |
正常終了した場合の戻り値です。 |
DBMS_LDAP_UTL.PARAM_ERROR |
入力パラメータが無効です。 |
DBMS_LDAP_UTL.GENERAL_ERROR |
障害時の戻り値です。 |
使用上のノート
このファンクションは、2つの識別名を比較する際に使用できます。
関連ファンクション
なし
11.9.2 get_property_namesファンクション
get_property_names()
ファンクションでは、プロパティ・セットのプロパティ名のリストを取得します。
構文
FUNCTION get_property_names ( pset IN PROPERTY_SET, property_names OUT STRING_COLLECTION ) RETURN PLS_INTEGER;
パラメータ
次の表に、get_property_namesファンクションのパラメータを示します。
表11-45 GET_PROPERTY_NAMESファンクションのパラメータ
パラメータ名 | パラメータ・タイプ | パラメータの説明 |
---|---|---|
pset |
PROPERTY_SET |
次のいずれかのファンクションで戻されるPropertySetCollection内のプロパティ・セットです。
|
property_names |
STRING_COLLECTION |
プロパティ・セットに関連付けられているプロパティ名のリストです。 |
戻り値
次の表に、get_property_namesファンクションの戻り値を示します。
表11-46 GET_PROPERTY_NAMESファンクションの戻り値
値 | 説明 |
---|---|
DBMS_LDAP_UTL.SUCCESS |
正常終了した場合の戻り値です。 |
DBMS_LDAP_UTL.PARAM_ERROR |
入力パラメータが無効です。 |
DBMS_LDAP_UTL.GENERAL_ERROR |
エラーが発生した場合の戻り値です。 |
使用上のノート
なし
関連ファンクション
DBMS_LDAP_UTL.get_property values()
。
11.9.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;
パラメータ
次の表に、get_property_valuesファンクションのパラメータを示します。
表11-47 GET_PROPERTY_VALUESファンクションのパラメータ
パラメータ名 | パラメータ・タイプ | パラメータの説明 |
---|---|---|
property_name |
VARCHAR2 |
プロパティ名です。 |
pset |
PROPERTY_SET |
次のいずれかのファンクションで戻されるPropertySetCollection内のプロパティ・セットです。
|
property_values |
STRING_COLLECTION |
プロパティ値(文字列)のリストです。 |
戻り値
次の表に、get_property_valuesファンクションの戻り値を示します。
表11-48 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.9.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;
パラメータ
次の表に、get_property_values_lenファンクションのパラメータを示します。
表11-49 GET_PROPERTY_VALUES_LENファンクションのパラメータ
パラメータ名 | パラメータ・タイプ | パラメータの説明 |
---|---|---|
property_name |
VARCHAR2 |
プロパティ名です。 |
pset |
PROPERTY_SET |
次のいずれかのファンクションで戻されるPropertySetCollection内のプロパティ・セットです。
|
property_values |
BINVAL_COLLECTION |
バイナリ・プロパティ値のリストです。 |
戻り値
次の表に、get_property_values_lenファンクションの戻り値を示します。
表11-50 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.9.5 free_propertyset_collectionプロシージャ
free_propertyset_collection()
プロシージャでは、プロパティ・セット・コレクションに関連付けられているメモリーを解放します。
構文
PROCEDURE free_propertyset_collection ( pset_collection IN OUT PROPERTY_SET_COLLECTION );
パラメータ
次の表に、free_propertyset_collectionプロシージャのパラメータを示します。
表11-51 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()
。
11.9.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;
パラメータ
次の表に、create_mod_propertysetファンクションのパラメータを示します。
表11-52 CREATE_MOD_PROPERTYSETファンクションのパラメータ
パラメータ名 | パラメータ・タイプ | パラメータの説明 |
---|---|---|
pset_type |
PLS_INTEGER |
変更するプロパティ・セットのタイプ。有効な値は |
pset_name |
VARCHAR2 |
プロパティ・セットの名前。 |
mod_pset |
MOD_PROPERTY_SET |
プロパティ・セットに対して実行する変更操作が含まれているデータ構造です。 |
戻り値
次の表に、create_mod_propertysetファンクションの戻り値を示します。
表11-53 CREATE_MOD_PROPERTYSETファンクションの戻り値
値 | 説明 |
---|---|
DBMS_LDAP_UTL.SUCCESS |
正常終了した場合の戻り値です。 |
DBMS_LDAP_UTL.GENERAL_ERROR |
その他のエラーです。 |
使用上のノート
なし
関連ファンクション
DBMS_LDAP_UTL.populate_mod_propertyset()
。
11.9.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;
パラメータ
次の表に、populate_mod_propertysetファンクションのパラメータを示します。
表11-54 POPULATE_MOD_PROPERTYSETファンクションのパラメータ
パラメータ名 | パラメータ・タイプ | パラメータの説明 |
---|---|---|
mod_pset |
MOD_PROPERTY_SET |
Mod_PropertySetデータ構造です。 |
property_mod_op |
PLS_INTEGER |
プロパティに対して実行する変更操作のタイプ。有効な値は次のとおりです。
|
property_name |
VARCHAR2 |
プロパティの名前 |
property_values |
STRING_COLLECTION |
プロパティに関連付けられている値です。 |
戻り値
次の表に、populate_mod_propertysetファンクションの戻り値を示します。
表11-55 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.9.8 free_mod_propertysetプロシージャ
free_mod_propertyset()
プロシージャでは、MOD_PROPERTY_SET
データ構造を解放します。
構文
PROCEDURE free_mod_propertyset ( mod_pset IN MOD_PROPERTY_SET );
パラメータ
次の表に、free_mod_propertysetプロシージャのパラメータを示します。
表11-56 FREE_MOD_PROPERTYSETプロシージャのパラメータ
パラメータ名 | パラメータ・タイプ | パラメータの説明 |
---|---|---|
mod_pset |
PROPERTY_SET |
|
戻り値
なし
使用上のノート
なし
関連ファンクション
DBMS_LDAP_UTL.create_mod_propertyset()
。
11.9.9 free_handleプロシージャ
free_handle()
プロシージャでは、ハンドルに関連付けられているメモリーを解放します。
構文
PROCEDURE free_handle ( handle IN OUT HANDLE );
パラメータ
次の表に、free_handleプロシージャのパラメータを示します。
表11-57 FREE_HANDLEプロシージャのパラメータ
パラメータ名 | パラメータ・タイプ | パラメータの説明 |
---|---|---|
handle |
HANDLE |
ハンドルへのポインタです。 |
戻り値
なし
使用上のノート
なし
関連ファンクション
DBMS_LDAP_UTL.create_user_handle()
、DBMS_LDAP_UTL.create_subscriber_handle()
、DBMS_LDAP_UTL.create_group_handle()
。
11.9.10 check_interface_versionファンクション
check_interface_version()
ファンクションでは、インタフェースのバージョンをチェックします。
構文
FUNCTION check_interface_version ( interface_version IN VARCHAR2 ) RETURN PLS_INTEGER;
パラメータ
次の表に、check_interface_versionファンクションのパラメータを示します。
表11-58 CHECK_INTERFACE_VERSIONファンクションのパラメータ
パラメータ名 | パラメータ・タイプ | パラメータの説明 |
---|---|---|
interface_version |
VARCHAR2 |
インタフェースのバージョンです。 |
戻り値
次の表に、check_interface_versionの戻り値を示します。
表11-59 CHECK_VERSION_INTERFACEファンクションの戻り値
値 | 説明 |
---|---|
DBMS_LDAP_UTL.SUCCESS |
インタフェースのバージョンはサポートされています。 |
DBMS_LDAP_UTL.GENERAL_ERROR |
インタフェースのバージョンはサポートされていません。 |
使用上のノート
なし
関連ファンクション
なし
11.9.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;
パラメータ
次の表に、get_property_values_blobファンクションのパラメータを示します。
表11-60 GET_PROPERTY_VALUES_BLOBファンクションのパラメータ
パラメータ | パラメータ・タイプ | 説明 |
---|---|---|
property_name |
VARCHAR2 |
プロパティ名です。 |
pset |
PROPERTY_SET |
次のいずれかのファンクションで戻されるPropertySetCollection内のプロパティ・セットです。
|
property_values |
BLOB_COLLECTION |
バイナリ・プロパティ値のリストです。 |
戻り値
次の表に、get_property_values_blobファンクションの戻り値を示します。
表11-61 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.9.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 );
パラメータ
次の表に、property_value_free_blobファンクションのパラメータを示します。
表11-62 PROPERTY_VALUE_FREE_BLOBファンクションのパラメータ
パラメータ | 説明 |
---|---|
vals |
|
戻り値
なし
使用上のノート
なし
関連ファンクション
DBMS_LDAP.get_property_values_blob()
。