9 DBMS_LDAP PL/SQLリファレンス
DBMS_LDAPには、PL/SQLプログラマがLDAPサーバーのデータにアクセスするためのファンクションとプロシージャが含まれています。次の各トピックでは、DBMS_LDAPパッケージについて説明します。
9.1 DBMS_LDAPパッケージのAPIサブプログラム
DBMS_LDAPパッケージのAPIサブプログラムには、セッションの確立、ユーザーの認証、ディレクトリでの検索などを実行するファンクションが含まれています。
次の表に、DBMS_LDAP APIのサブプログラムの説明を示します。
表9-1 DBMS_LDAP APIのサブプログラム
| ファンクションまたはプロシージャ | 説明 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
first_entryファンクションを使用すると |
|
|
|
|
|
このファンクションは、結果セット内のエントリ数のカウントに使用します。また、 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
このファンクションを使用すると、LDAPディレクトリ情報ツリー内のリーフ・エントリを削除できます。 |
|
|
|
|
|
|
|
|
|
|
|
追加操作または変更操作に、1組の属性情報を代入します。 |
|
|
追加操作または変更操作に、1組の属性情報を代入します。 |
|
|
追加操作または変更操作に、1組の属性情報を代入します。 |
|
|
|
|
|
|
|
|
|
|
|
既存のLDAPディレクトリ・エントリの同期変更を実行します。 |
|
|
LDAPディレクトリに新規エントリを同期的に追加します。 |
|
|
|
|
|
|
|
|
|
|
|
LDAPエントリの名前を同期的に変更します。 |
|
|
識別名を個々の構成要素に分割します。 |
|
|
すでに確立されているLDAP接続を介してSSL接続を確立します。 |
|
|
同期検索ファンクションによって戻されたメッセージ・ハンドルに対応付けられている結果セットを解放します。 |
|
|
|
|
|
|
|
|
|
|
|
|
関連項目:
-
DBMS_LDAP.search_s()およびDBMS_LDAP.search_st()の詳細は、「ディレクトリの検索」を参照してください。 -
DBMS_LDAP.unbind_s()の詳細は、「セッションを終了するDBMS_LDAP API」を参照してください。
9.2 DBMS_LDAPパッケージの例外の概要
セッション、認証および検索のメカニズムで発生するエラー・メッセージを含むDBMS_LDAPパッケージの例外の概要を示します。
DBMS_LDAPでは、表9-2に示す例外が生成される場合があります。
表9-2 DBMS_LDAP例外の概要
| 例外名 | Oracleエラー番号 | 例外の原因 |
|---|---|---|
general_error |
31202 |
関係する特定のPL/SQL例外がないエラーが発生すると常に呼び出されます。エラー文字列では、ユーザーが使用している言語で問題が説明されます。 |
init_failed |
31203 |
|
invalid_session |
31204 |
|
invalid_auth_method |
31205 |
|
invalid_search_scope |
31206 |
検索の範囲が無効な場合に、すべての検索ファンクションによって呼び出されます。 |
invalid_search_time_val |
31207 |
制限時間として渡された値が無効な場合に、 |
invalid_message |
31208 |
検索操作によるエントリの取得を結果セット全体にわたって反復するファンクションに、無効なメッセージ・ハンドルが指定された場合に呼び出されます。 |
count_entry_error |
31209 |
|
get_dn_error |
31210 |
|
invalid_entry_dn |
31211 |
エントリを変更、追加または名前を変更するファンクションに無効なエントリの識別名を指定した場合に呼び出されます。 |
invalid_mod_array |
31212 |
変更配列を引数として取るファンクションに、無効な変更配列を指定した場合に呼び出されます。 |
invalid_mod_option |
31213 |
|
invalid_mod_type |
31214 |
|
invalid_mod_value |
31215 |
|
invalid_rdn |
31216 |
有効な相対識別名を想定するファンクションおよびプロシージャに、無効な相対識別名を指定した場合に呼び出されます。 |
invalid_newparent |
31217 |
|
invalid_deleteoldrdn |
31218 |
|
invalid_notypes |
31219 |
|
invalid_ssl_wallet_loc |
31220 |
ウォレットの場所が |
invalid_ssl_wallet_password |
31221 |
|
invalid_ssl_auth_mode |
31222 |
SSL認証モードが |
9.3 DBMS_LDAPパッケージで使用するデータ型
DBMS_LDAPパッケージでは、session、message、timevalなどのデータ型を使用します。
表9-3 DBMS_LDAPデータ型の概要
| データ型 | 用途 |
|---|---|
SESSION |
LDAPセッションのハンドルを保持するために使用します。APIのほとんどすべてのファンクションでは、作業のために、有効なLDAPセッションが必要となります。 |
MESSAGE |
結果セットから取り出されたメッセージのハンドルを保持するために使用します。このデータ型は、エントリの属性および値を処理するすべてのファンクションで使用します。 |
MOD_ARRAY |
|
TIMEVAL |
制限時間を必要とするLDAP APIファンクションに制限時間の情報を渡すために使用します。 |
BER_ELEMENT |
受信メッセージのデコードに使用される |
STRING_COLLECTION |
LDAPサーバーに渡すことができる |
BINVAL_COLLECTION |
バイナリ・データを表す |
BERVAL_COLLECTION |
変更配列の代入に使用される |
BLOB_COLLECTION |
バイナリ・データを表す |
9.4 DBMS_LDAP APIのサブプログラム
DBMS_LDAP APIのサブプログラムごとに異なるオプションと、ファンクションおよびプロシージャの使用例があります。
次に、DBMS_LDAP APIのサブプログラムのリストを示します。
9.4.1 initファンクション
init()では、LDAPサーバーとのセッションが初期化されます。これにより、実際にLDAPサーバーとの接続が確立されます。
構文
FUNCTION init ( hostname IN VARCHAR2, portnum IN PLS_INTEGER ) RETURN SESSION;
パラメータ
次の表に、initファンクションのパラメータの説明を示します。
表9-4 INITファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
hostname |
接続先のLDAPサーバーを実行しているホストのIPアドレスを示す、空白で区切られたホスト名またはドット表記の文字列のリストが入ります。リスト内の各ホスト名には、コロンでホストと区切ってポート番号を含められます。ホストがリストの順序に従って試みられ、最初にホストへの接続が成功した時点で終了します。 |
portnum |
接続先のTCPポート番号が入ります。ホスト名にポート番号が含まれている場合、このパラメータは無視されます。このパラメータを指定せず、ホスト名にポート番号を含めていない場合は、デフォルトのポート番号 |
戻り値
次の表に、initファンクションの戻り値の説明を示します。
表9-5 INITファンクションの戻り値
| 値 | 説明 |
|---|---|
SESSION |
以後のAPIのコールに使用できるLDAPセッション・ハンドルです。 |
例外
次の表に、initファンクションの例外の説明を示します。
表9-6 INITファンクションの例外
| 例外 | 説明 |
|---|---|
init_failed |
LDAPサーバーとの通信中に問題が発生した場合に呼び出されます。 |
general_error |
その他すべてのエラーに対応します。この例外に関連するエラー文字列で、エラーの詳細が説明されます。 |
使用上のノート
DBMS_LDAP.init()は、LDAPサーバーとのセッションを確立するファンクションなので最初に呼び出す必要があります。DBMS_LDAP.init()ファンクションはセッション・ハンドルを戻します。セッション・ハンドルは、セッションに関連する後続のコールに渡す必要がある不透明な構造体へのポインタです。セッションを初期化できない場合、このルーチンはNULLを戻し、INIT_FAILED例外を発生させます。init()をコールした後、接続はDBMS_LDAP.bind_sまたはDBMS_LDAP.simple_bind_s()を使用して認証される必要があります。
ノート:
- Autonomous DatabaseノードがLDAPサーバーを解決できることを確認します。LDAPサーバーが自律型データベースとは異なる仮想クラウド・ネットワーク(VCN)にある場合に備えて、プライベートDNSに関する項を参照し、プライベート・ドメイン・ネーム・システム(DNS)ゾーンを管理する方法について学習してください。
- LDAPとAutonomous Databaseノード間で適切なネットワーク・ファイアウォールとセキュリティ・ルールを開きます。セキュリティ・ルールに関する項を参照してください。
関連ファンクション
DBMS_LDAP.simple_bind_s()、DBMS_LDAP.bind_s()
9.4.2 simple_bind_sファンクション
simple_bind_sファンクションを使用すると、ユーザー名およびパスワードに基づく、ディレクトリ・サーバーへの簡易認証を実行できます。
構文
FUNCTION simple_bind_s ( ld IN SESSION, dn IN VARCHAR2, passwd IN VARCHAR2 ) RETURN PLS_INTEGER;
パラメータ
次の表に、simple_bind_sファンクションのパラメータの説明を示します。
表9-7 SIMPLE_BIND_Sファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
ld |
有効なLDAPセッション・ハンドルです。 |
dn |
ログイン時に使用するユーザー識別名です。 |
passwd |
パスワードを含む文字列です。 |
戻り値
次の表に、simple_bind_sファンクションの戻り値の説明を示します。
表9-8 SIMPLE_BIND_Sファンクションの戻り値
| 値 | 説明 |
|---|---|
PLS_INTEGER |
正常終了した場合は |
例外
次の表に、simple_bind_sファンクションの例外の説明を示します。
表9-9 SIMPLE_BIND_Sファンクションの例外
| 例外 | 説明 |
|---|---|
invalid_session |
セッション・ハンドル |
general_error |
その他すべてのエラーに対応します。この例外に関連するエラー文字列で、エラーの詳細が説明されます。 |
使用上のノート
DBMS_LDAP.simple_bind_s()を使用すると、ディレクトリ識別名およびディレクトリ・パスワードがすでにわかっているユーザーを認証できます。DBMS_LDAP.init()のコールで有効なLDAPセッション・ハンドルを取得してから、コールしてください。
9.4.3 bind_sファンクション
bind_sファンクションを使用すると、ディレクトリ・サーバーへの高度な認証を実行できます。
構文
FUNCTION bind_s (
ld IN SESSION, dn IN VARCHAR2, cred IN VARCHAR2, meth IN PLS_INTEGER
)
RETURN PLS_INTEGER;
パラメータ
次の表に、bind_sファンクションのパラメータの説明を示します。
表9-10 BIND_Sファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
ld |
有効なLDAPセッション・ハンドルです。 |
dn |
ユーザーの識別名です。 |
cred |
認証に使用する資格証明を含む文字列です。 |
meth |
認証方式です。有効な値は |
戻り値
次の表に、bind_sファンクションの戻り値の説明を示します。
表9-11 BIND_Sファンクションの戻り値
| 値 | 説明 |
|---|---|
PLS_INTEGER |
正常終了した場合は |
例外
次の表に、bind_sファンクションの例外値の説明を示します。
表9-12 BIND_Sファンクションの例外
| 例外 | 説明 |
|---|---|
invalid_session |
セッション・ハンドル |
invalid_auth_method |
リクエストした認証方式がサポートされていない場合に呼び出されます。 |
general_error |
その他すべてのエラーに対応します。この例外に関連するエラー文字列で、エラーの詳細が説明されます。 |
使用上のノート
DBMS_LDAP.bind_s()を使用すると、ユーザーを認証できます。DBMS_LDAP.init()のコールで有効なLDAPセッション・ハンドルを取得してから、コールしてください。
関連ファンクション
DBMS_LDAP.init()、DBMS_LDAP.simple_bind_s()。
9.4.4 unbind_sファンクション
unbind_sファンクションは、アクティブなLDAPセッションのクローズに使用します。
構文
FUNCTION unbind_s (
ld IN OUT SESSION
)
RETURN PLS_INTEGER;
パラメータ
次の表に、UNBIND_Sファンクションのパラメータの説明を示します。
表9-13 UNBIND_Sファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
ld |
有効なLDAPセッション・ハンドルです。 |
戻り値
次の表に、UNBIND_Sファンクションの戻り値の説明を示します。
表9-14 UNBIND_Sファンクションの戻り値
| 値 | 説明 |
|---|---|
PLS_INTEGER |
適切に終了した場合は |
例外
次の表に、UNBIND_Sファンクションの例外の説明を示します。
表9-15 UNBIND_Sファンクションの例外
| 例外 | 説明 |
|---|---|
invalid_session |
セッション・ハンドル |
general_error |
その他すべてのエラーに対応します。この例外に関連するエラー文字列で、エラーの詳細が説明されます。 |
使用上のノート
unbind_s()ファンクションを使用すると、サーバーにバインド解除リクエストが送信され、LDAPセッションに関連するオープンな接続がすべてクローズされ、セッション・ハンドルに関連するリソースがすべて処理された後に値が戻されます。このファンクションをコールすると、セッション・ハンドルldが無効になります。
関連ファンクション
DBMS_LDAP.bind_s()、DBMS_LDAP.simple_bind_s()。
9.4.5 compare_sファンクション
compare_sファンクションを使用すると、特定のエントリの特定の属性が特定の値を持っているかどうかをテストできます。
構文
FUNCTION compare_s (
ld IN SESSION, dn IN VARCHAR2, attr IN VARCHAR2, value IN VARCHAR2
)
RETURN PLS_INTEGER;
パラメータ
次の表に、compare_sファンクションのパラメータの説明を示します。
表9-16 COMPARE_Sファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
ld |
有効なLDAPセッション・ハンドルです。 |
dn |
比較の対象となるエントリの名前です。 |
attr |
比較の対象となる属性です。 |
value |
比較の対象となる文字列の属性値です。 |
戻り値
次の表に、compare_sファンクションの戻り値の説明を示します。
表9-17 COMPARE_Sファンクションの戻り値
| 値 | 説明 |
|---|---|
PLS_INTEGER |
属性の値が指定した値と一致した場合の戻り値は 属性の値が指定した値と一致しない場合の戻り値は |
例外
次の表に、compare_sファンクションの例外を示します。
表9-18 COMPARE_Sファンクションの例外
| 例外 | 説明 |
|---|---|
invalid_session |
セッション・ハンドル |
general_error |
その他すべてのエラーに対応します。この例外に関連するエラー文字列で、エラーの詳細が説明されます。 |
使用上のノート
compare_sファンクションを使用すると、ディレクトリ内の属性が特定の値を持つことを確認できます。この操作は、比較が可能な構文を持つ属性についてのみ実行できます。compare_sファンクションは、有効なLDAPセッション・ハンドルをinit()ファンクションで取得し、bind_s()またはsimple_bind_s()ファンクションで認証してから、コールしてください。
関連ファンクション
DBMS_LDAP.bind_s()。
9.4.6 search_sファンクション
search_sファンクションを使用すると、ディレクトリ内で同期検索が実行されます。これを実行すると、サーバーからすべての検索結果が送信されるか、検索リクエストがサーバーによってタイムアウトになるまでは、PL/SQL環境に制御が戻されません。
構文
FUNCTION search_s (
ld IN SESSION, base IN VARCHAR2, scope IN PLS_INTEGER, filter IN VARCHAR2, attrs IN STRING_COLLECTION, attronly IN PLS_INTEGER, res OUT MESSAGE
)
RETURN PLS_INTEGER;
パラメータ
次の表に、search_sファンクションのパラメータを示します。
表9-19 SEARCH_Sファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
ld |
有効なLDAPセッション・ハンドルです。 |
base |
検索の開始点となるエントリの識別名です。 |
scope |
|
filter |
検索フィルタを表す文字列です。この値を |
attrs |
一致した各エントリのどの属性を戻すかを指定する文字列の集合です。このパラメータを |
attrsonly |
属性の型と値の両方を戻す場合には0(ゼロ)、属性の型のみを要求する場合には0(ゼロ)以外を指定する必要があるブール値です。 |
res |
コールの終了時に検索結果が入る結果パラメータです。戻される結果がない場合、 |
戻り値
次の表に、search_sファンクションの戻り値を示します。
表9-20 SEARCH_Sファンクションの戻り値
| 値 | 説明 |
|---|---|
PLS_INTEGER |
検索操作が正常終了した場合は |
res |
検索が正常終了してエントリがあった場合、このパラメータはNULL以外の値に設定されます。この値を使用すると、結果セットからエントリを取り出すことができます。 |
例外
次の表に、search_sファンクションの例外を示します。
表9-21 SEARCH_Sファンクションの例外
| 例外 | 説明 |
|---|---|
invalid_session |
セッション・ハンドル |
invalid_search_scope |
検索範囲が、 |
general_error |
その他すべてのエラーに対応します。この例外に関連するエラー文字列で、エラーの詳細が説明されます。 |
使用上のノート
search_s()ファンクションが検索操作を発行すると、サーバーからすべての結果が戻されるまで、ユーザー環境に制御が戻されません。検索によって戻されるエントリがある場合、resパラメータの中に収められます。このパラメータはコール元に対しては不透明です。エントリ、属性および値は、この章で説明する解析ルーチンをコールすることで抽出できます。
関連ファンクション
DBMS_LDAP.search_st()、DBMS_LDAP.first_entry()、DBMS_LDAP.next_entry。
9.4.7 search_stファンクション
search_st()ファンクションを使用すると、LDAPサーバー内で、クライアント側のタイムアウトを使用して同期検索が実行されます。これを実行すると、サーバーからすべての検索結果が送信されるか、検索リクエストがクライアントまたはサーバーによってタイムアウトになるまで、PL/SQL環境に制御が戻されません。
構文
FUNCTION search_st (
ld IN SESSION, base IN VARCHAR2, scope IN PLS_INTEGER, filter IN VARCHAR2, attrs IN STRING_COLLECTION, attronly IN PLS_INTEGER, tv IN TIMEVAL, res OUT MESSAGE
)
RETURN PLS_INTEGER;
パラメータ
次のファンクションに、search_stファンクションのパラメータを示します。
表9-22 SEARCH_STファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
ld |
有効なLDAPセッション・ハンドルです。 |
base |
検索の開始点となるエントリの識別名です。 |
scope |
|
filter |
検索フィルタを表す文字列です。この値を |
attrs |
一致した各エントリのどの属性を戻すかを指定する文字列の集合です。このパラメータを |
attrsonly |
属性の型と値の両方を戻す場合には0(ゼロ)、属性の型のみを要求する場合には0(ゼロ)以外を指定する必要があるブール値です。 |
tv |
この検索で使用する必要があるタイムアウト値です(秒およびミリ秒単位で表します)。 |
res |
コールの終了時に検索結果が入る結果パラメータです。戻される結果がない場合、 |
戻り値
次の表に、search_stファンクションの戻り値を示します。
表9-23 SEARCH_STファンクションの戻り値
| 値 | 説明 |
|---|---|
PLS_INTEGER |
検索操作が正常終了した場合は |
res |
検索が正常終了してエントリがあった場合、このパラメータはNULL以外の値に設定されます。この値を使用すると、結果セットからエントリを取り出すことができます。 |
例外
次の表に、search_stファンクションの例外を示します。
表9-24 SEARCH_STファンクションの例外
| 例外 | 説明 |
|---|---|
invalid_session |
セッション・ハンドル |
invalid_search_scope |
検索範囲が、 |
invalid_search_time_value |
タイムアウトに指定した時間の値が無効な場合に呼び出されます。 |
general_error |
その他すべてのエラーに対応します。この例外に関連するエラー文字列で、エラーの詳細が説明されます。 |
使用上のノート
このファンクションはDBMS_LDAP.search_s()に類似していますが、タイムアウト値を指定する必要があるという点に違いがあります。
関連ファンクション
DBMS_LDAP.search_s()、DBML_LDAP.first_entry()、DBMS_LDAP.next_entry。
9.4.8 first_entryファンクション
first_entry()ファンクションを使用するとsearch_s()またはsearch_st().で戻された結果セット内の最初のエントリを取り出せます
構文
FUNCTION first_entry (
ld IN SESSION, msg IN MESSAGE
)
RETURN MESSAGE;
パラメータ
次の表に、first_entryファンクションのパラメータを示します。
表9-25 FIRST_ENTRYファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
ld |
有効なLDAPセッション・ハンドルです。 |
msg |
検索結果です。同期検索ルーチンのいずれかをコールして取得されるものと同一です。 |
戻り値
次の表に、first_entryファンクションの戻り値を示します。
表9-26 FIRST_ENTRYの戻り値
| 値 | 説明 |
|---|---|
MESSAGE |
LDAPサーバーから戻されたエントリのリスト中の最初のエントリのハンドルです。エラーがあった場合は |
例外
次の表に、first_entryの例外を示します。
表9-27 FIRST_ENTRYの例外
| 例外 | 説明 |
|---|---|
invalid_session |
セッション・ハンドル |
invalid_message |
受信した |
使用上のノート
first_entry()ファンクションは、検索操作からの結果を取り出すために必ず最初にコールする必要があるファンクションです。
関連ファンクション
DBMS_LDAP.next_entry()、DBMS_LDAP.search_s()、DBMS_LDAP.search_st()。
9.4.9 next_entryファンクション
このファンクションは、結果セット内のエントリ数のカウントに使用します。また、first_entry()ファンクションおよびnext_entryファンクションと組み合せて使用すると、結果セットの全探索時に残っているエントリの数をカウントすることもできます。
構文
FUNCTION count_entries (
ld IN SESSION, msg IN MESSAGE
)
RETURN PLS_INTEGER;
パラメータ
次の表に、count_entryファンクションのパラメータを示します。
表9-28 COUNT_ENTRYファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
ld |
有効なLDAPセッション・ハンドルです。 |
msg |
検索結果です。同期検索ルーチンのいずれかをコールして取得されるものと同一です。 |
戻り値
次の表に、count_entryファンクションの戻り値を示します。
表9-29 COUNT_ENTRYファンクションの戻り値
| 値 | 説明 |
|---|---|
PLS_INTEGER |
結果セット中にエントリがある場合の戻り値は0(ゼロ)以外です。問題があった場合は |
例外
次の表に、count_entryファンクションの例外を示します。
表9-30 COUNT_ENTRYファンクションの例外
| 例外 | 説明 |
|---|---|
invalid_session |
セッション・ハンドル |
invalid_message |
受信した |
count_entry_error |
エントリのカウント中に問題があった場合に呼び出されます。 |
使用上のノート
count_entries()は、エントリのチェーンに含まれるエントリの数を戻します。resパラメータが無効などのエラーが発生した場合、-1が戻されます。first_message(), next_message(), first_entry(), next_entry(), first_reference(), next_reference()から戻されたメッセージ、エントリまたはリファレンスとともにコールされた場合、count_entries()コールを使用してチェーンに残っているエントリ数をカウントすることもできます。
関連ファンクション
DBMS_LDAP.first_entry()、DBMS_LDAP.next_entry()。
9.4.10 count_entriesファンクション
first_attribute()ファンクションを使用すると、結果セットの中から、指定したエントリの最初の属性がフェッチされます。
構文
FUNCTION first_attribute (
ld IN SESSION, ldapentry IN MESSAGE, ber_elem OUT BER_ELEMENT
)
RETURN VARCHAR2;
パラメータ
次の表に、first_attributeファンクションのパラメータを示します。
表9-31 FIRST_ATTRIBUTEファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
ld |
有効なLDAPセッション・ハンドルです。 |
ldapentry |
属性を参照する対象となるエントリです。 |
ber_elem |
エントリ内の読取り済の属性を記録するために使用される |
戻り値
次の表に、first attributeファンクションの戻り値を示します。
表9-32 FIRST_ATTRIBUTEファンクションの戻り値
| 値 | 説明 |
|---|---|
VARCHAR2 |
属性が存在する場合の戻り値はその属性の名前です。 属性が存在しない場合、またはエラーが発生した場合は |
ber_elem |
|
例外
次の表に、first_attribueファンクションの例外を示します。
表9-33 FIRST_ATTRIBUTEファンクションの例外
| 例外 | 説明 |
|---|---|
invalid_session |
セッション・ハンドル |
invalid_message |
受信した |
使用上のノート
エントリの様々な属性に対して処理を繰り返し行うには、first_attribute()のパラメータとして戻されたBER_ELEMENTのハンドルを、次のnext_attribute()のコールで使用する必要があります。また、first_attribute()のコールで戻された属性の名前を、get_values()またはget_values_len()のコールで使用すると、その属性の値を取得できます。
関連ファンクション
DBMS_LDAP.next_attribute()、DBMS_LDAP.get_values()、DBMS_LDAP.get_values_len()、DBMS_LDAP.first_entry()、DBMS_LDAP.next_entry()。
9.4.11 first_attributeファンクション
next_attribute()ファンクションを使用すると、結果セットの中から、指定したエントリの次の属性が取り出されます。
構文
FUNCTION next_attribute (
ld IN SESSION, ldapentry IN MESSAGE, ber_elem IN BER_ELEMENT
)
RETURN VARCHAR2;
パラメータ
次の表に、next_attributeファンクションのパラメータの説明を示します。
表9-34 NEXT_ATTRIBUTEファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
ld |
有効なLDAPセッション・ハンドルです。 |
ldapentry |
属性を参照する対象となるエントリです。 |
ber_elem |
エントリ内の読取り済の属性を記録するために使用される |
戻り値
次の表に、next_attributeファンクションの戻り値の説明を示します。
表9-35 NEXT_ATTRIBUTEファンクションの戻り値
| 値 | 説明 |
|---|---|
VARCHAR2 (ファンクションの戻り値) |
属性が存在する場合の戻り値はその属性の名前です。 |
例外
次の表に、next_attributeファンクションの例外の説明を示します。
表9-36 NEXT_ATTRIBUTEファンクションの例外
| 例外 | 説明 |
|---|---|
invalid_session |
セッション・ハンドル |
invalid_message |
受信した |
使用上のノート
エントリの様々な属性に対して処理を繰り返し行うには、first_attribute()のパラメータとして戻されたBER_ELEMENTのハンドルを、次のnext_attribute()のコールで使用する必要があります。また、next_attribute()のコールで戻された属性の名前を、get_values()またはget_values_len()のコールで使用すると、その属性の値を取得できます。
関連ファンクション
DBMS_LDAP.first_attribute()、DBMS_LDAP.get_values()、DBMS_LDAP.get_values_len()、DBMS_LDAP.first_entry()、DBMS_LDAP.next_entry()。
9.4.12 next_attributeファンクション
get_dn()ファンクションを使用すると、結果セットの中から、指定したエントリのX.500識別名が取り出されます。
構文
FUNCTION get_dn (
ld IN SESSION, ldapentrymsg IN MESSAGE
)
RETURN VARCHAR2;
パラメータ
次の表に、get_dnファンクションのパラメータの説明を示します。
表9-37 GET_DNファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
ld |
有効なLDAPセッション・ハンドルです。 |
ldapentry |
識別名が戻り値となるエントリです。 |
戻り値
次のファンクションに、get_dnファンクションの戻り値の説明を示します。
表9-38 GET_DNファンクションの戻り値
| 値 | 説明 |
|---|---|
VARCHAR2 |
エントリのPL/SQL文字列でのX.500識別名です。 問題があった場合は |
例外
次のファンクションに、get_dnファンクションの例外の説明を示します。
表9-39 GET_DNファンクションの例外
| 例外 | 説明 |
|---|---|
invalid_session |
セッション・ハンドル |
invalid_message |
受信した |
get_dn_error |
識別名を確認中に問題があった場合に呼び出されます。 |
使用上のノート
get_dn()ファンクションを使用すると、プログラム・ロジックが結果セット全体にわたって同一処理を反復する間に、エントリの識別名を取り出せます。また、この識別名をexplode_dn()への入力として使用すると、その識別名の個々の構成要素を取り出せます。
関連ファンクション
DBMS_LDAP.explode_dn()。
9.4.13 get_dnファンクション
get_values()ファンクションを使用すると、特定のエントリの特定の属性に関連する値をすべて取り出せます。
構文
FUNCTION get_values (
ld IN SESSION, ldapentry IN MESSAGE, attr IN VARCHAR2
)
RETURN STRING_COLLECTION;
パラメータ
次の表に、get_valuesファンクションのパラメータの説明を示します。
表9-40 GET_VALUESファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
ld |
有効なLDAPセッション・ハンドルです。 |
ldapentry |
検索結果から戻されたエントリの有効なハンドルです。 |
attr |
値を検索する対象となる属性の名前です。 |
戻り値
次の表に、get_valuesファンクションの戻り値の説明を示します。
表9-41 GET_VALUESファンクションの戻り値
| 値 | 説明 |
|---|---|
STRING_COLLECTION |
指定した属性のすべての値を含むPL/SQL文字列の集合です。 指定した属性に関連する値がない場合は |
例外
次のファンクションに、get_valuesファンクションの例外の説明を示します。
表9-42 GET_VALUESファンクションの例外
| 例外 | 説明 |
|---|---|
invalid_session |
セッション・ハンドル |
invalid_message |
受信したエントリのハンドルが無効な場合に呼び出されます。 |
使用上のノート
get_values()ファンクションは、first_entry()またはnext_entry()のコールで最初のエントリのハンドルを取り出してからコールしてください。属性の名前は、事前に判明している場合もあれば、first_attribute()またはnext_attribute()のコールによって判明する場合もあります。get_values()ファンクションでは、取得する属性のデータ型は常に文字列とみなされます。バイナリ・データ型の取得には、get_values_len()を使用する必要があります。
関連ファンクション
DBMS_LDAP.first_entry()、DBMS_LDAP.next_entry()、DBMS_LDAP.count_values()、DBMS_LDAP.get_values_len()。
9.4.14 get_valuesファンクション
get_values()ファンクションを使用すると、特定のエントリの特定の属性に関連する値をすべて取り出せます。
構文
FUNCTION get_values (
ld IN SESSION, ldapentry IN MESSAGE, attr IN VARCHAR2
)
RETURN STRING_COLLECTION;
パラメータ
次の表に、get_valuesファンクションのパラメータの説明を示します。
表9-43 GET_VALUESファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
ld |
有効なLDAPセッション・ハンドルです。 |
ldapentry |
検索結果から戻されたエントリの有効なハンドルです。 |
attr |
値を検索する対象となる属性の名前です。 |
戻り値
次の表に、get_valuesファンクションの戻り値の説明を示します。
表9-44 GET_VALUESファンクションの戻り値
| 値 | 説明 |
|---|---|
STRING_COLLECTION |
指定した属性のすべての値を含むPL/SQL文字列の集合です。 指定した属性に関連する値がない場合は |
例外
次のファンクションに、get_valuesファンクションの例外の説明を示します。
表9-45 GET_VALUESファンクションの例外
| 例外 | 説明 |
|---|---|
invalid_session |
セッション・ハンドル |
invalid_message |
受信したエントリのハンドルが無効な場合に呼び出されます。 |
使用上のノート
get_values()ファンクションは、first_entry()またはnext_entry()のコールで最初のエントリのハンドルを取り出してからコールしてください。属性の名前は、事前に判明している場合もあれば、first_attribute()またはnext_attribute()のコールによって判明する場合もあります。get_values()ファンクションでは、取得する属性のデータ型は常に文字列とみなされます。バイナリ・データ型の取得には、get_values_len()を使用する必要があります。
関連ファンクション
DBMS_LDAP.first_entry()、DBMS_LDAP.next_entry()、DBMS_LDAP.count_values()、DBMS_LDAP.get_values_len()。
9.4.15 get_values_lenファンクション
get_values_len()ファンクションを使用すると、バイナリ構文を持つ属性の値を取り出せます。
構文
FUNCTION get_values_len (
ld IN SESSION, ldapentry IN MESSAGE, attr IN VARCHAR2
)
RETURN BINVAL_COLLECTION;
パラメータ
次のファンクションに、get_values_lenファンクションのパラメータの説明を示します。
表9-46 GET_VALUES_LENファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
ld |
有効なLDAPセッション・ハンドルです。 |
ldapentrymsg |
検索結果から戻されたエントリの有効なハンドルです。 |
attr |
値の検索対象となる属性の文字列名です。 |
戻り値
次の表に、get_values_lenファンクションの戻り値の説明を示します。
表9-47 GET_VALUES_LENファンクションの戻り値
| 値 | 説明 |
|---|---|
BINVAL_COLLECTION |
指定した属性のすべての値を含むPL/SQL RAW型データの集合です。 指定した属性に関連する値がない場合は |
例外
次の表に、get_values_lenファンクションの例外の説明を示します。
表9-48 GET_VALUES_LENファンクションの例外
| 例外 | 説明 |
|---|---|
invalid_session |
セッション・ハンドル |
invalid_message |
受信したエントリのハンドルが無効な場合に呼び出されます。 |
使用上のノート
get_values_len()ファンクションは、first_entry()またはnext_entry()のコールでエントリのハンドルを取り出した後にのみコールできます。属性の名前は事前に判明している場合もあれば、first_attribute()またはnext_attribute()をコールして確認する場合もあります。このファンクションは、バイナリとバイナリ以外の両方の属性値の取出しに使用できます。
関連ファンクション
DBMS_LDAP.first_entry()、DBMS_LDAP.next_entry()、DBMS_LDAP.count_values_len()、DBMS_LDAP.get_values()。
9.4.16 get_values_lenファンクション
get_values_len()ファンクションを使用すると、バイナリ構文を持つ属性の値を取り出せます。
構文
FUNCTION get_values_len (
ld IN SESSION, ldapentry IN MESSAGE, attr IN VARCHAR2
)
RETURN BINVAL_COLLECTION;
パラメータ
次のファンクションに、get_values_lenファンクションのパラメータの説明を示します。
表9-49 GET_VALUES_LENファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
ld |
有効なLDAPセッション・ハンドルです。 |
ldapentrymsg |
検索結果から戻されたエントリの有効なハンドルです。 |
attr |
値の検索対象となる属性の文字列名です。 |
戻り値
次の表に、get_values_lenファンクションの戻り値の説明を示します。
表9-50 GET_VALUES_LENファンクションの戻り値
| 値 | 説明 |
|---|---|
BINVAL_COLLECTION |
指定した属性のすべての値を含むPL/SQL RAW型データの集合です。 指定した属性に関連する値がない場合は |
例外
次の表に、get_values_lenファンクションの例外の説明を示します。
表9-51 GET_VALUES_LENファンクションの例外
| 例外 | 説明 |
|---|---|
invalid_session |
セッション・ハンドル |
invalid_message |
受信したエントリのハンドルが無効な場合に呼び出されます。 |
使用上のノート
get_values_len()ファンクションは、first_entry()またはnext_entry()のコールでエントリのハンドルを取り出した後にのみコールできます。属性の名前は事前に判明している場合もあれば、first_attribute()またはnext_attribute()をコールして確認する場合もあります。このファンクションは、バイナリとバイナリ以外の両方の属性値の取出しに使用できます。
関連ファンクション
DBMS_LDAP.first_entry()、DBMS_LDAP.next_entry()、DBMS_LDAP.count_values_len()、DBMS_LDAP.get_values()。
9.4.17 delete_sファンクション
delete_s()ファンクションを使用すると、ディレクトリ情報ツリー内のリーフ・エントリを削除できます。
パラメータ
戻り値
例外
使用上のノート
関連項目
構文
FUNCTION delete_s (
ld IN SESSION, entrydn IN VARCHAR2
)
RETURN PLS_INTEGER;
パラメータ
次の表に、delete_sファンクションのパラメータの説明を示します。
表9-52 DELETE_Sファンクションのパラメータ
| パラメータ名 | 説明 |
|---|---|
ld |
有効なLDAPセッションです。 |
entrydn |
削除するエントリのX.500識別名です。 |
戻り値
次の表に、delete_sファンクションの戻り値の説明を示します。
表9-53 DELETE_Sファンクションの戻り値
| 値 | 説明 |
|---|---|
PLS_INTEGER |
削除操作が正常終了した場合は |
例外
次の表に、delete_sファンクションの例外の説明を示します。
表9-54 DELETE_Sファンクションの例外
| 例外 | 説明 |
|---|---|
invalid_session |
セッション・ハンドル |
invalid_entry_dn |
エントリの識別名が無効な場合に呼び出されます。 |
general_error |
その他すべてのエラーに対応します。この例外に関連するエラー文字列で、エラーの詳細が説明されます。 |
使用上のノート
delete_s()ファンクションを使用すると、ディレクトリ情報ツリー内のリーフ・エントリのみを削除できます。リーフ・エントリとは、下位エントリを持たないエントリです。このファンクションは、リーフ以外のエントリの削除には使用できません。
関連ファンクション
DBMS_LDAP.modrdn2_s()。
9.4.18 modrdn2_sファンクション
modrdn2_s()ファンクションを使用すると、エントリの相対識別名を変更できます。
構文
FUNCTION modrdn2_s (
ld IN SESSION, entrydn in VARCHAR2 newrdn in VARCHAR2 deleteoldrdn IN PLS_INTEGER
)
RETURN PLS_INTEGER;
パラメータ
次の表に、modrdn2_sファンクションのパラメータの説明を示します。
表9-55 MODRDN2_Sファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
ld |
有効なLDAPセッション・ハンドルです。 |
entrydn |
エントリの識別名です(このエントリはディレクトリ情報ツリー内のリーフ・ノードです)。 |
newrdn |
エントリの新しい相対識別名です。 |
deleteoldrdn |
0(ゼロ)以外にした場合は、古い名前から引き継いだ属性値をエントリから削除する必要があることを示すブール値です。 |
戻り値
次の表に、modrdn2_sファンクションの戻り値の説明を示します。
表9-56 MODRDN2_Sファンクションの戻り値
| 値 | 説明 |
|---|---|
PLS_INTEGER |
操作が正常終了した場合は |
例外
次の表に、modrdn2_sファンクションの例外の説明を示します。
表9-57 MODRDN2_Sファンクションの例外
| 例外 | 説明 |
|---|---|
invalid_session |
セッション・ハンドル |
invalid_entry_dn |
エントリの識別名が無効な場合に呼び出されます。 |
invalid_rdn |
LDAP相対識別名が無効です。 |
invalid_deleteoldrdn |
LDAP deleteoldrdnが無効です。 |
general_error |
その他すべてのエラーに対応します。この例外に関連するエラー文字列で、エラーの詳細が説明されます。 |
使用上のノート
nodrdn2_s()ファンクションを使用すると、ディレクトリ情報ツリーのリーフ・ノードの名前を変更できます。認識の指標となる相対識別名のみが変更されます。LDAP v3規格では、このファンクションの使用は非推奨です。同じ目的を実現するrename_s()を使用してください。
関連ファンクション
DBMS_LDAP.rename_s()。
9.4.19 err2stringファンクション
err2string()ファンクションを使用すると、LDAPエラー・コードを、APIの動作環境で使用されている各国語の文字列に変換できます。
構文
FUNCTION err2string (
ldap_err IN PLS_INTEGER
)
RETURN VARCHAR2;
パラメータ
次の表に、err2stringファンクションのパラメータの説明を示します。
表9-58 ERR2STRINGファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
ldap_err |
いずれかのAPIコールから戻されたエラー番号です。 |
戻り値
次の表に、err2stringファンクションの戻り値の説明を示します。
表9-59 ERR2STRINGファンクションの戻り値
| 値 | 説明 |
|---|---|
VARCHAR2 |
各国語へ変換された文字列です。この文字列で、エラーの詳細が説明されます。 |
例外
err2string()では、例外は呼び出されません。
使用上のノート
このリリースでは、APIコールにエラーが発生した場合、例外処理メカニズムによって自動的にこのファンクションがコールされます。
関連ファンクション
なし
9.4.20 create_mod_arrayファンクション
create_mod_array()ファンクションを使用すると、modify_s()ファンクションまたはadd_s()ファンクションを使用してエントリに適用される変更配列に、メモリーが割り当てられます。
構文
FUNCTION create_mod_array (
num IN PLS_INTEGER
)
RETURN MOD_ARRAY;
パラメータ
次の表に、create_mod_arrayファンクションのパラメータの説明を示します。
表9-60 CREATE_MOD_ARRAYファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
num |
追加または変更する属性の数です。 |
戻り値
次の表に、create_mod_arrayファンクションの戻り値の説明を示します。
表9-61 CREATE_MOD_ARRAYファンクションの戻り値
| 値 | 説明 |
|---|---|
MOD_ARRAY |
このデータ構造により、LDAP変更配列へのポインタが保持されます。 問題があった場合の戻り値は |
例外
create_mod_array()では、例外は呼び出されません。
使用上のノート
このファンクションは、DBMS_LDAP.add_sおよびDBMS_LDAP.modify_sを使用するための準備ステップの1つです。add_sまたはmodify_sのコールが終了した後に、DBMS_LDAP.free_mod_arrayをコールしてメモリーを解放します。
関連ファンクション
DBMS_LDAP.populate_mod_array()、DBMS_LDAP.modify_s()、DBMS_LDAP.add_s()およびDBMS_LDAP.free_mod_array()。
9.4.21 populate_mod_arrayプロシージャ(文字列バージョン)
追加操作または変更操作に、1組の属性情報を代入します。
構文
PROCEDURE populate_mod_array (
modptr IN DBMS_LDAP.MOD_ARRAY, mod_op IN PLS_INTEGER, mod_type IN VARCHAR2, modval IN DBMS_LDAP.STRING_COLLECTION
);
パラメータ
次の表に、populate_mod_arrayプロシージャのパラメータの説明を示します。
表9-62 POPULATE_MOD_ARRAY(文字列バージョン)プロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
modptr |
このデータ構造により、LDAP変更配列へのポインタが保持されます。 |
mod_op |
このフィールドで実行する変更のタイプ( |
mod_type |
このフィールドで、変更を適用する属性の型の名前を指定します。 |
modval |
このフィールドで、追加、削除または置換する属性値を指定します。対象は文字列値のみです。 |
例外
次の表に、populate_mod_arrayプロシージャの例外の説明を示します。
表9-63 POPULATE_MOD_ARRAY(文字列バージョン)プロシージャの例外
| 例外 | 説明 |
|---|---|
invalid_mod_array |
LDAP変更配列が無効です。 |
invalid_mod_option |
LDAP変更オプションが無効です。 |
invalid_mod_type |
LDAP変更型が無効です。 |
invalid_mod_value |
LDAP変更値が無効です。 |
使用上のノート
このファンクションは、DBMS_LDAP.add_sおよびDBMS_LDAP.modify_sを使用するための準備ステップの1つです。DBMS_LDAP.create_mod_arrayをコールした後に、このプロシージャをコールする必要があります。
関連ファンクション
DBMS_LDAP.create_mod_array()、DBMS_LDAP.modify_s()、DBMS_LDAP.add_s()およびDBMS_LDAP.free_mod_array()。
9.4.22 populate_mod_arrayプロシージャ(バイナリ・バージョン)
追加操作または変更操作に、1組の属性情報を代入します。DBMS_LDAP.create_mod_array()をコールした後に、このプロシージャをコールします。
構文
PROCEDURE populate_mod_array (
modptr IN DBMS_LDAP.MOD_ARRAY, mod_op IN PLS_INTEGER, mod_type IN VARCHAR2, modbval IN DBMS_LDAP.BERVAL_COLLECTION
);
パラメータ
次の表に、populate_mod_arrayプロシージャのパラメータの説明を示します。
表9-64 POPULATE_MOD_ARRAY(バイナリ・バージョン)プロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
modptr |
このデータ構造により、LDAP変更配列へのポインタが保持されます。 |
mod_op |
このフィールドで実行する変更のタイプ( |
mod_type |
このフィールドで、変更を適用する属性の型の名前を指定します。 |
modbval |
このフィールドで、追加、削除または置換する属性値を指定します。対象はバイナリ値のみです。 |
例外
次の表に、populate_mod_arrayプロシージャの例外の説明を示します。
表9-65 POPULATE_MOD_ARRAY(バイナリ・バージョン)プロシージャの例外
| 例外 | 説明 |
|---|---|
invalid_mod_array |
LDAP変更配列が無効です。 |
invalid_mod_option |
LDAP変更オプションが無効です。 |
invalid_mod_type |
LDAP変更型が無効です。 |
invalid_mod_value |
LDAP変更値が無効です。 |
使用上のノート
このファンクションは、DBMS_LDAP.add_sおよびDBMS_LDAP.modify_sを使用するための準備ステップの1つです。DBMS_LDAP.create_mod_arrayをコールした後に、このプロシージャをコールします。
関連ファンクション
DBMS_LDAP.create_mod_array()、DBMS_LDAP.modify_s()、DBMS_LDAP.add_s()およびDBMS_LDAP.free_mod_array()。
9.4.23 populate_mod_arrayプロシージャ(バイナリ・バージョンBLOBデータ型を使用)
追加操作または変更操作に、1組の属性情報を代入します。DBMS_LDAP.create_mod_array()をコールした後に、このプロシージャをコールします。
構文
PROCEDURE populate_mod_array ( modptr IN DBMS_LDAP.MOD_ARRAY, mod_op IN PLS_INTEGER, mod_type IN VARCHAR2, modbval IN DBMS_LDAP.BLOB_COLLECTION );
パラメータ
次の表に、populate_mod_arrayのパラメータを示します。
表9-66 POPULATE_MOD_ARRAY(バイナリ)のパラメータ
| パラメータ | 説明 |
|---|---|
modptr |
このデータ構造により、LDAP変更配列へのポインタが保持されます。 |
mod_op |
このフィールドで実行する変更のタイプ( |
mod_type |
このフィールドで、変更を適用する属性の型の名前を指定します。 |
modbval |
このフィールドで、追加、削除または置換するバイナリ属性値を指定します。 |
例外
次の表に、populate_mod_arrayのパラメータを示します。
表9-67 POPULATE_MOD_ARRAY(バイナリ)の例外
| 例外 | 説明 |
|---|---|
invalid_mod_array |
LDAP変更配列が無効です。 |
invalid_mod_option |
LDAP変更オプションが無効です。 |
invalid_mod_type |
LDAP変更型が無効です。 |
invalid_mod_value |
LDAP変更値が無効です。 |
使用上のノート
このファンクションは、DBMS_LDAP.add_sおよびDBMS_LDAP.modify_sを使用するための準備ステップの1つです。DBMS_LDAP.create_mod_arrayをコールした後に、このプロシージャをコールします。
関連ファンクション
DBMS_LDAP.create_mod_array()、DBMS_LDAP.modify_s()、DBMS_LDAP.add_s()およびDBMS_LDAP.free_mod_array()。
9.4.24 get_values_blobファンクション
get_values_blob()ファンクションを使用すると、バイナリ構文を持つ属性のより大きな値を取り出せます。
構文
FUNCTION get_values_blob ( ld IN SESSION, ldapentry IN MESSAGE, attr IN VARCHAR2 ) RETURN BLOB_COLLECTION;
パラメータ
次の表に、get_values_blobのパラメータを示します。
表9-68 GET_VALUES_BLOBのパラメータ
| パラメータ | 説明 |
|---|---|
ld |
有効なLDAPセッション・ハンドルです。 |
ldapentrymsg |
検索結果から戻されたエントリの有効なハンドルです。 |
attr |
値の検索対象となる属性の文字列名です。 |
戻り値
次の表に、get_values_blobの戻り値を示します。
表9-69 get_values_blobの戻り値
| 値 | 説明 |
|---|---|
BLOB_COLLECTION |
指定した属性のすべての値を含むPL/SQL BLOB型データの集合です。 |
NULL |
指定した属性に関連する値がありません。 |
例外
次の表に、get_values_blobの例外を示します。
表9-70 get_values_blobの例外
| 例外 | 説明 |
|---|---|
invalid_session |
セッション・ハンドル |
invalid message |
受信したエントリのハンドルが無効な場合に呼び出されます。 |
使用上のノート
get_values_blob()ファンクションは、first_entry()またはnext_entry()のコールでエントリのハンドルを取り出してからコールしてください。属性の名前は、事前に判明している場合もあれば、first_attribute()またはnext_attribute()のコールによって判明する場合もあります。このファンクションは、バイナリの属性値および非バイナリの属性値の取出しに使用できます。
関連ファンクション
DBMS_LDAP.first_entry()、DBMS_LDAP.next_entry()、DBMS_LDAP.count_values_blob()、DBMS_LDAP.get_values()。
9.4.25 count_values_blobファンクション
DBMS_LDAP.get_values_blob()によって戻された値の数をカウントします。
パラメータ
戻り値
例外
関連項目
構文
FUNCTION count_values_blob ( values IN DBMS_LDAP.BLOB_COLLECTION ) RETURN PLS_INTEGER;
パラメータ
次の表に、count_values_blobのパラメータを示します。
表9-71 COUNT_VALUES_BLOBのパラメータ
| パラメータ | 説明 |
|---|---|
values |
ラージ・バイナリ値の集合です。 |
戻り値
次の表に、count_values_blobの戻り値を示します。
表9-72 COUNT_VALUES_BLOBの戻り値
| 値 | 説明 |
|---|---|
PLS_INTEGER |
操作の成功または失敗を示します。 |
例外
count_values_blob()では、例外は呼び出されません。
使用上のノート
なし
関連ファンクション
DBMS_LDAP.count_values()、DBMS_LDAP.get_values_blob()。
9.4.26 value_free_blobファンクション
DBMS_LDAP.get_values_blob()によって戻されたBLOB_COLLECTIONに関連付けられているメモリーを解放します。
パラメータ
例外
関連項目
構文
PROCEDURE value_free_blob ( vals IN OUT DBMS_LDAP.BLOB_COLLECTION );
パラメータ
次の表に、value_free_blobのパラメータを示します。
表9-73 VALUE_FREE_BLOBのパラメータ
| パラメータ | 説明 |
|---|---|
vals |
|
戻り値
なし
例外
value_free_blob()では、例外は呼び出されません。
使用上のノート
なし
関連ファンクション
DBMS_LDAP.get_values_blob()。
9.4.27 modify_sファンクション
既存のLDAPディレクトリ・エントリの同期変更を実行します。
パラメータ
戻り値
例外
使用上のノート
関連項目
構文
FUNCTION modify_s (
ld IN DBMS_LDAP.SESSION, entrydn IN VARCHAR2, modptr IN DBMS_LDAP.MOD_ARRAY
)
RETURN PLS_INTEGER;
パラメータ
次の表に、modify_sファンクションのパラメータを示します。
表9-74 MODIFY_Sファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
ld |
このパラメータは、 |
entrydn |
このパラメータで、内容を変更するディレクトリ・エントリの名前を指定します。 |
modptr |
このパラメータはLDAP変更構造体のハンドルで、 |
戻り値
次の表に、modify_sファンクションの戻り値を示します。
表9-75 MODIFY_Sファンクションの戻り値
| 値 | 説明 |
|---|---|
PLS_INTEGER |
変更操作の成功または失敗を示します。 |
例外
次の表に、modify_sファンクションの例外を示します。
表9-76 MODIFY_Sファンクションの例外
| 例外 | 説明 |
|---|---|
invalid_session |
LDAPセッションが無効です。 |
invalid_entry_dn |
LDAPエントリ識別名が無効です。 |
invalid_mod_array |
LDAP変更配列が無効です。 |
使用上のノート
このファンクションは、DBMS_LDAP.create_mod_array()およびDBMS_LDAP.populate_mod_array()のコールが正常終了した後にコールする必要があります。
関連ファンクション
DBMS_LDAP.create_mod_array()、DBMS_LDAP.populate_mod_array()、DBMS_LDAP.add_s()およびDBMS_LDAP.free_mod_array()。
9.4.28 add_sファンクション
LDAPディレクトリに新規エントリを同期的に追加します。add_sをコールする前に、まずDBMS_LDAP.create_mod_array()とDBMS_LDAP.populate_mod_array()をコールする必要があります。
構文
FUNCTION add_s (
ld IN DBMS_LDAP.SESSION, entrydn IN VARCHAR2, modptr IN DBMS_LDAP.MOD_ARRAY
)
RETURN PLS_INTEGER;
パラメータ
次の表に、add_sファンクションのパラメータを示します。
表9-77 ADD_Sファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
ld |
このパラメータはLDAPセッションのハンドルで、 |
entrydn |
このパラメータで、作成するディレクトリ・エントリの名前を指定します。 |
modptr |
このパラメータはLDAP変更構造体のハンドルで、 |
戻り値
次の表に、add_sファンクションの戻り値を示します。
表9-78 ADD_Sファンクションの戻り値
| 値 | 説明 |
|---|---|
PLS_INTEGER |
変更操作の成功または失敗を示します。 |
例外
次の表に、add_sファンクションの例外を示します。
表9-79 ADD_Sファンクションの例外
| 例外 | 説明 |
|---|---|
invalid_session |
LDAPセッションが無効です。 |
invalid_entry_dn |
LDAPエントリ識別名が無効です。 |
invalid_mod_array |
LDAP変更配列が無効です。 |
使用上のノート
追加するエントリの親エントリは、ディレクトリ内にすでに存在している必要があります。このファンクションは、DBMS_LDAP.create_mod_array()およびDBMS_LDAP.populate_mod_array()のコールが正常終了した後にコールする必要があります。
関連ファンクション
DBMS_LDAP.create_mod_array()、DBMS_LDAP.populate_mod_array()、DBMS_LDAP.modify_s()およびDBMS_LDAP.free_mod_array()。
9.4.29 free_mod_arrayプロシージャ
DBMS_LDAP.create_mod_array()によって割り当てられたメモリーを解放します。
構文
PROCEDURE free_mod_array (
modptr IN DBMS_LDAP.MOD_ARRAY
);
パラメータ
次の表に、free_mod_arrayプロシージャのパラメータを示します。
表9-80 FREE_MOD_ARRAYプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
modptr |
このパラメータは、 |
戻り値
なし
例外
free_mod_arrayでは、例外は呼び出されません。
使用上のノート
なし
関連ファンクション
DBMS_LDAP.populate_mod_array()、DBMS_LDAP.modify_s()、DBMS_LDAP.add_s()およびDBMS_LDAP.create_mod_array()。
9.4.30 count_valuesファンクション
DBMS_LDAP.get_values()によって戻された値の数をカウントします。
構文
FUNCTION count_values (
values IN DBMS_LDAP.STRING_COLLECTION
)
RETURN PLS_INTEGER;
パラメータ
次の表に、count_valuesファンクションのパラメータを示します。
表9-81 COUNT_VALUESファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
values |
文字列値の集合です。 |
戻り値
次の表に、count_valuesファンクションの戻り値を示します。
表9-82 COUNT_VALUESファンクションの戻り値
| 値 | 説明 |
|---|---|
PLS_INTEGER |
操作の成功または失敗を示します。 |
例外
count_valuesでは、例外は呼び出されません。
使用上のノート
なし
関連ファンクション
DBMS_LDAP.count_values_len()、DBMS_LDAP.get_values()。
9.4.31 count_values_lenファンクション
DBMS_LDAP.get_values_len ()によって戻された値の数をカウントします。
構文
FUNCTION count_values_len (
values IN DBMS_LDAP.BINVAL_COLLECTION
)
RETURN PLS_INTEGER;
パラメータ
次の表に、count_values_lenファンクションのパラメータを示します。
表9-83 COUNT_VALUES_LENファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
values |
バイナリ値の集合です。 |
戻り値
次の表に、count_values_lenの戻り値を示します。
表9-84 COUNT_VALUES_LENファンクションの戻り値
| 値 | 説明 |
|---|---|
PLS_INTEGER |
操作の成功または失敗を示します。 |
例外
count_values_lenでは、例外は呼び出されません。
使用上のノート
なし
関連ファンクション
DBMS_LDAP.count_values()、DBMS_LDAP.get_values_len()。
9.4.32 rename_sファンクション
LDAPエントリの名前を同期的に変更します。
構文
FUNCTION rename_s (
ld IN SESSION, dn IN VARCHAR2, newrdn IN VARCHAR2, newparent IN VARCHAR2, deleteoldrdn IN PLS_INTEGER, serverctrls IN LDAPCONTROL, clientctrls IN LDAPCONTROL
)
RETURN PLS_INTEGER;
パラメータ
次の表に、rename_sファンクションのパラメータを示します。
表9-85 RENAME_Sファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
ld |
このパラメータは、 |
dn |
このパラメータで、名前を変更または移動するディレクトリ・エントリの名前を指定します。 |
newrdn |
このパラメータで、新しい相対識別名を指定します。 |
newparent |
このパラメータで、新しい親の識別名を指定します。 |
deleteoldrdn |
このパラメータで、古い相対識別名を保持するかどうかを指定します。この値を |
serverctrls |
現在はサポートされていません。 |
clientctrls |
現在はサポートされていません。 |
戻り値
次の表に、rename_sファンクションの戻り値を示します。
表9-86 RENAME_Sファンクションの戻り値
| 値 | 説明 |
|---|---|
PLS_INTEGER |
操作の成功または失敗を示します。 |
例外
次の表に、rename_sファンクションの例外を示します。
表9-87 RENAME_Sファンクションの例外
| 例外 | 説明 |
|---|---|
invalid_session |
LDAPセッションが無効です。 |
invalid_entry_dn |
LDAP識別名が無効です。 |
invalid_rdn |
LDAP相対識別名が無効です。 |
invalid_newparent |
LDAPの新規の親が無効です。 |
invalid_deleteoldrdn |
LDAP deleteoldrdnが無効です。 |
使用上のノート
なし
関連ファンクション
DBMS_LDAP.modrdn2_s()。
9.4.33 explode_dnファンクション
識別名を個々の構成要素に分割します。
構文
FUNCTION explode_dn (
dn IN VARCHAR2, notypes IN PLS_INTEGER
)
RETURN STRING_COLLECTION;
パラメータ
次の表に、explode_dnファンクションのパラメータを示します。
表9-88 EXPLODE_DNファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
dn |
このパラメータで、分割するディレクトリ・エントリの名前を指定します。 |
notypes |
このパラメータで、属性タグを戻すかどうかを指定します。この値を |
戻り値
次の表に、explode_dnファンクションの戻り値を示します。
表9-89 EXPLODE_DNファンクションの戻り値
| 値 | 説明 |
|---|---|
STRING_COLLECTION |
文字列の配列です。識別名が分割できない場合は |
例外
次の表に、explode_dnファンクションの例外を示します。
表9-90 EXPLODE_DNファンクションの例外
| 例外 | 説明 |
|---|---|
invalid_entry_dn |
LDAP識別名が無効です。 |
invalid_notypes |
LDAP notypes値が無効です。 |
使用上のノート
なし
関連ファンクション
DBMS_LDAP.get_dn()。
9.4.34 open_sslファンクション
すでに確立されているLDAP接続を介してSSL接続を確立します。
構文
FUNCTION open_ssl (
ld IN SESSION, sslwrl IN VARCHAR2, sslwalletpasswd IN VARCHAR2, sslauth IN PLS_INTEGER
)
RETURN PLS_INTEGER;
パラメータ
次の表に、open_sslファンクションのパラメータを示します。
表9-91 OPEN_SSLファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
ld |
このパラメータは、 |
sslwrl |
このパラメータで、ウォレットの位置を指定します。書式は |
sslwalletpasswd |
このパラメータで、ウォレットのパスワードを指定します。サーバー、またはクライアントとサーバーのSSL接続の場合は必須です。 |
sslauth |
このパラメータで、SSL認証モードを指定します。(認証なしの場合は |
戻り値
次の表に、open_sslファンクションの戻り値を示します。
表9-92 OPEN_SSLファンクションの戻り値
| 値 | 説明 |
|---|---|
PLS_INTEGER |
操作の成功または失敗を示します。 |
例外
次の表に、open_sslの例外を示します。
表9-93 OPEN_SSLファンクションの例外
| 例外 | 説明 |
|---|---|
invalid_session |
LDAPセッションが無効です。 |
invalid_ssl_wallet_loc |
LDAP SSLのウォレットの場所が無効です。 |
invalid_ssl_wallet_passwd |
LDAP SSLのウォレットのパスワードが無効です。 |
invalid_ssl_auth_mode |
LDAP SSL認証モードが無効です。 |
使用上のノート
有効なLDAPセッションを取得するには、まずDBMS_LDAP.init()をコールする必要があります。
関連ファンクション
DBMS_LDAP.init()。
9.4.35 msgfreeファンクション
同期検索ファンクションによって戻されたメッセージ・ハンドルに対応付けられている結果セットを解放します。
構文
FUNCTION msgfree (
res IN MESSAGE
)
RETURN PLS_INTEGER;
パラメータ
次の表に、msgfreeファンクションのパラメータを示します。
表9-94 MSGFREEファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
res |
同期検索ルーチンのいずれかをコールして取得されるメッセージ・ハンドルです。 |
戻り値
次の表に、msgfreeファンクションの戻り値を示します。
表9-95 MSGFREEの戻り値
| 値 | 説明 |
|---|---|
PLS_INTEGER |
結果セット内にある最後のメッセージのタイプを示します。 このファンクションの戻り値は、次の値のいずれかになります。
|
例外
msgfreeでは、例外は呼び出されません。
使用上のノート
なし
関連ファンクション
DBMS_LDAP.search_s()、DBMS_LDAP.search_st()。
9.4.36 ber_freeファンクション
BER ELEMENTへのハンドルに対応付けられたメモリーを解放します。
構文
FUNCTION ber_free (
ber_elem IN BER_ELEMENT, freebuf IN PLS_INTEGER
)
パラメータ
次の表に、ber_freeファンクションのパラメータを示します。
表9-96 BER_FREEファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
ber_elem |
|
freebuf |
このパラメータのデフォルト値は0(ゼロ)です。 |
戻り値
ber_freeでは、値は戻されません。
例外
ber_freeでは、例外は呼び出されません。
使用上のノート
なし
関連ファンクション
DBMS_LDAP.first_attribute()、DBMS_LDAP.next_attribute()。
9.4.37 nls_convert_to_utf8ファンクション
nls_convert_to_utf8ファンクションでは、データベース文字セットのデータを含む入力文字列をUTF-8文字セットのデータに変換して戻します。
構文
Function nls_convert_to_utf8 ( data_local IN VARCHAR2 ) RETURN VARCHAR2;
パラメータ
次の表に、nls_convert_to_utf8ファンクションのパラメータを示します。
表9-97 nls_convert_to_utf8のパラメータ
| パラメータ | 説明 |
|---|---|
data_local |
データベース文字セットのデータを指定します。 |
戻り値
次の表に、nlss_convert_to_utf8のパラメータを示します。
表9-98 nls_convert_to_utf8の戻り値
| 値 | 説明 |
|---|---|
VARCHAR2 |
UTF-8文字セットのデータ文字列です。 |
例外
なし
使用上のノート
DBMS_LDAPパッケージのファンクションは、UTF8_CONVERSIONパッケージ変数にFALSEが設定されている場合、入力データがUTF-8文字セットのデータであると想定します。nls_convert_to_utf8()ファンクションは、データベース文字セットのデータをUTF-8文字セットのデータに変換します。
DBMS_LDAPパッケージのUTF8_CONVERSIONパッケージ変数がTRUEに設定されている場合、DBMS_LDAPパッケージのファンクションでは、入力データはデータベース文字セットのデータであると想定します。
関連ファンクション
DBMS_LDAP.nls_convert_from_utf8()、DBMS_LDAP.nls_get_dbcharset_name()。
9.4.38 nls_convert_from_utf8ファンクション
nls_convert_from_utf8()ファンクションでは、UTF-8文字セットのデータを含む入力文字列のコレクションをデータベース文字セットのデータに変換します。その後、このデータを戻します。
構文
Function nls_convert_from_utf8 ( data_utf8 IN STRING_COLLECTION ) RETURN STRING_COLLECTION;
パラメータ
次の表に、nls_convert_from_utf8のパラメータを示します。
表9-99 nls_convert_from_utf8のパラメータ
| パラメータ | 説明 |
|---|---|
data_utf8 |
UTF-8文字セットのデータを含む文字列のコレクションです。 |
戻り値
次の表に、nls_convert_from_utf8のパラメータを示します。
表9-100 nls_convert_from_utf8の戻り値
| 値 | 説明 |
|---|---|
VARCHAR2 |
データベース文字セットのデータを含む文字列のコレクションです。 |
例外
DBMS_LDAPパッケージのファンクションは、UTF8_CONVERSIONパッケージ変数がFALSEに設定されている場合、UTF-8文字セット・データを戻します。nls_convert_from_utf8()は、出力データをUTF-8文字セットからデータベース文字セットに変換します。DBMS_LDAPパッケージのUTF8_CONVERSIONパッケージ変数がTRUEに設定されている場合、DBMS_LDAPパッケージのファンクションはデータベース文字セットのデータを戻します。
使用上のノート
なし
関連ファンクション
DBMS_LDAP.nls_convert_to_utf8()、DBMS_LDAP.nls_get_dbcharset_name()。
9.4.39 nls_get_dbcharset_nameファンクション
nls_get_dbcharset_name()ファンクションでは、データベース文字セット名を含む文字列を戻します。
構文
Function nls_get_dbcharset_name RETURN VARCHAR2;
パラメータ
なし。
戻り値
次の表に、nls_get_dbcharset_nameの戻り値を示します。
表9-101 nls_get_dbcharset_nameの戻り値
| 値 | 説明 |
|---|---|
VARCHAR2 |
データベース文字セット名を含む文字列です。 |
例外
なし
使用上のノート
なし
関連ファンクション
DBMS_LDAP.nls_convert_to_utf8()、DBMS_LDAP.nls_convert_from_utf8()。