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

前へ
前へ
 
次へ
次へ
 

9 DBMS_LDAP PL/SQLリファレンス

DBMS_LDAPには、PL/SQLプログラマがLDAPサーバーのデータにアクセスするためのファンクションとプロシージャが含まれています。この章では、すべてのAPIファンクションの詳細を説明します。

この章では、次の項目について説明します。


注意:

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

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


9.1 サブプログラムの概要

表9-1 DBMS_LDAP APIのサブプログラム

ファンクションまたはプロシージャ 説明

initファンクション


init()では、LDAPサーバーとのセッションが初期化されます。これにより、実際にLDAPサーバーとの接続が確立されます。

simple_bind_sファンクション


simple_bind_s()ファンクションを使用すると、ユーザー名およびパスワードに基づく、ディレクトリ・サーバーへの簡易認証を実行できます。

bind_sファンクション


bind_s()ファンクションを使用すると、ディレクトリ・サーバーへの高度な認証を実行できます。

unbind_sファンクション


unbind_s()ファンクションは、アクティブなLDAPセッションのクローズに使用します。

compare_sファンクション


compare_s()ファンクションを使用すると、特定のエントリの特定の属性が特定の値を持っているかどうかをテストできます。

search_sファンクション


search_s()ファンクションを使用すると、LDAPサーバー内で同期検索が実行されます。これを実行すると、サーバーからすべての検索結果が送信されるか、検索リクエストがサーバーによってタイムアウトになるまでは、PL/SQL環境に制御が戻されません。

search_stファンクション


search_st()ファンクションを使用すると、LDAPサーバー内で、クライアント側のタイムアウトを使用して同期検索が実行されます。これを実行すると、サーバーからすべての検索結果が送信されるか、検索リクエストがクライアントまたはサーバーによってタイムアウトになるまで、PL/SQL環境に制御が戻されません。

first_entryファンクション


first_entryファンクションを使用するとsearch_s()またはsearch_stで戻された結果セット内の最初のエントリを取り出せます。

next_entryファンクション


next_entry()ファンクションを使用すると、検索操作による結果セット内の次のエントリを取り出すことができます。

count_entriesファンクション


このファンクションは、結果セット内のエントリ数のカウントに使用します。また、first_entry()ファンクションおよびnext_entryファンクションと組み合せて使用すると、結果セットの全探索時に残っているエントリの数をカウントすることもできます。

first_attributeファンクション


first_attribute()ファンクションを使用すると、結果セットの中から、指定したエントリの最初の属性がフェッチされます。

next_attributeファンクション


next_attribute()ファンクションを使用すると、結果セットの中から、指定したエントリの次の属性がフェッチされます。

get_dnファンクション


get_dn()ファンクションを使用すると、結果セットの中から、指定したエントリのX.500識別名が取り出されます。

get_valuesファンクション


get_values()ファンクションを使用すると、特定のエントリの特定の属性に関連する値をすべて取り出せます。

get_values_lenファンクション


get_values_len()ファンクションを使用すると、バイナリ構文を持つ属性の値を取り出せます。

delete_sファンクション


delete_sファンクションを使用すると、LDAPディレクトリ情報ツリー内のリーフ・エントリを削除できます。

modrdn2_sファンクション


modrdn2_s()ファンクションを使用すると、エントリの相対識別名を変更できます。

err2stringファンクション


err2string()ファンクションを使用すると、LDAPエラー・コードを、APIの動作環境で使用されている各国語の文字列に変換できます。

create_mod_arrayファンクション


create_mod_array()ファンクションを使用すると、modify_s()ファンクションを使用してエントリに適用される変更配列に、メモリーが割り当てられます。

populate_mod_arrayプロシージャ(文字列バージョン)


追加操作または変更操作に、1組の属性情報を代入します。DBMS_LDAP.create_mod_array()をコールした後に、このプロシージャをコールする必要があります。

populate_mod_arrayプロシージャ(バイナリ・バージョン)


追加操作または変更操作に、1組の属性情報を代入します。DBMS_LDAP.create_mod_array()をコールした後に、このプロシージャをコールする必要があります。

populate_mod_arrayプロシージャ(バイナリ・バージョン。BLOBデータ型を使用)


追加操作または変更操作に、1組の属性情報を代入します。DBMS_LDAP.create_mod_array()をコールした後に、このプロシージャをコールする必要があります。

get_values_blobファンクション


get_values_blob()ファンクションを使用すると、バイナリ構文を持つ属性のより大きな値を取り出せます。

count_values_blobファンクション


DBMS_LDAP.get_values_blob()によって戻された値の数をカウントします。

value_free_blobファンクション


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

modify_sファンクション


既存のLDAPディレクトリ・エントリの同期変更を実行します。add_sをコールする前に、まずDBMS_LDAP.creat_mod_array()DBMS_LDAP.populate_mod_array()をコールする必要があります。

add_sファンクション


LDAPディレクトリに新規エントリを同期的に追加します。add_sをコールする前に、まずDBMS_LDAP.creat_mod_array()DBMS_LDAP.populate_mod_array()をコールする必要があります。

free_mod_arrayプロシージャ


DBMS_LDAP.create_mod_array()によって割り当てられたメモリーを解放します。

count_valuesファンクション


DBMS_LDAP.get_values()によって戻された値の数をカウントします。

count_values_lenファンクション


DBMS_LDAP.get_values_len ()によって戻された値の数をカウントします。

rename_sファンクション


LDAPエントリの名前を同期的に変更します。

explode_dnファンクション


識別名を個々の構成要素に分割します。

open_sslファンクション


すでに確立されているLDAP接続を介してSSL接続を確立します。

msgfreeファンクション


同期検索ファンクションによって戻されたメッセージ・ハンドルに対応付けられている結果セットを解放します。

ber_freeファンクション


BER_ELEMENTへのハンドルに対応付けられたメモリーを解放します。

nls_convert_to_utf8ファンクション


nls_convert_to_utf8ファンクションでは、データベース・キャラクタ・セットのデータを含む入力文字列をUTF-8キャラクタ・セットのデータに変換して戻します。

nls_convert_from_utf8ファンクション


nls_convert_from_utf8ファンクションでは、UTF-8キャラクタ・セットのデータを含む入力文字列をデータベース・キャラクタ・セットのデータに変換して戻します。

nls_get_dbcharset_nameファンクション


nls_get_dbcharset_nameファクションでは、データベース・キャラクタ・セット名を含む文字列を戻します。



関連項目:


9.2 例外の概要

DBMS_LDAPでは、表9-2に示す例外が生成される場合があります。

表9-2 DBMS_LDAP例外の概要

例外名 Oracleエラー番号 例外の原因
general_error

31202

関係する特定のPL/SQL例外がないエラーが発生すると常に呼び出されます。エラー文字列では、ユーザーが使用している言語で問題が説明されます。

init_failed

31203

DBMS_LDAP.init()に問題がある場合に呼び出されます。

invalid_session

31204

DBMS_LDAPパッケージのファンクションおよびプロシージャに無効なセッション・ハンドルが渡された場合に呼び出されます。

invalid_auth_method

31205

DBMS_LDAP.bind_s()でリクエストされた認証方式がサポートされていない場合に呼び出されます。

invalid_search_scope

31206

検索の範囲が無効な場合に、すべての検索ファンクションによって呼び出されます。

invalid_search_time_val
31207

制限時間として渡された値が無効な場合に、DBMS_LDAP.search_st()によって呼び出されます。

invalid_message
31208

検索操作によるエントリの取得を結果セット全体にわたって反復するファンクションに、無効なメッセージ・ハンドルが指定された場合に呼び出されます。

count_entry_error
31209

DBMS_LDAP.count_entriesで指定した結果セット内のエントリをカウントできない場合に呼び出されます。

get_dn_error
31210

DBMS_LDAP.get_dnによって取り出されるエントリの識別名がNULLである場合に呼び出されます。

invalid_entry_dn
31211

エントリを変更、追加または名前を変更するファンクションに無効なエントリの識別名を指定した場合に呼び出されます。

invalid_mod_array
31212

変更配列を引数として取るファンクションに、無効な変更配列を指定した場合に呼び出されます。

invalid_mod_option
31213

DBMS_LDAP.populate_mod_arrayで指定した変更オプションが、MOD_ADDMOD_DELETEまたはMOD_REPLACEでない場合に呼び出されます。

invalid_mod_type
31214

DBMS_LDAP.populate_mod_arrayによって変更される属性の型がNULLである場合に呼び出されます。

invalid_mod_value
31215

DBMS_LDAP.populate_mod_arrayで指定した属性をNULL値で更新しようとした場合に呼び出されます。

invalid_rdn
31216

有効な相対識別名を想定するファンクションおよびプロシージャに、無効な相対識別名を指定した場合に呼び出されます。

invalid_newparent
31217

DBMS_LDAP.rename_sによって名前を変更されるエントリの新しい親がNULLである場合に呼び出されます。

invalid_deleteoldrdn
31218

DBMS_LDAP.rename_sdeleteoldrdnパラメータが無効な場合に呼び出されます。

invalid_notypes
31219

DBMS_LDAP.explode_dnnotypesパラメータが無効な場合に呼び出されます。

invalid_ssl_wallet_loc
31220

ウォレットの場所がNULLであるがSSL認証モードが有効なウォレットを必要とする場合に、DBMS_LDAP.open_sslによって呼び出されます。

invalid_ssl_wallet_password
31221

DBMS_LDAP.open_sslで指定したウォレット・パスワードがNULLである場合に呼び出されます。

invalid_ssl_auth_mode
31222

SSL認証モードが12または3でない場合にDBMS_LDAP.open_sslによって呼び出されます。


9.3 データ型の概要

DBMS_LDAPパッケージでは、表9-3に示すデータ型を使用します。

表9-3 DBMS_LDAPデータ型の概要

データ型 用途
SESSION

LDAPセッションのハンドルを保持するために使用します。APIのほとんどすべてのファンクションでは、作業のために、有効なLDAPセッションが必要となります。

MESSAGE

結果セットから取り出されたメッセージのハンドルを保持するために使用します。このデータ型は、エントリの属性および値を処理するすべてのファンクションで使用します。

MOD_ARRAY

modify_s()またはadd_s()に渡される変更配列のハンドルを保持するために使用します。

TIMEVAL

制限時間を必要とするLDAP APIファンクションに制限時間の情報を渡すために使用します。

BER_ELEMENT

受信メッセージのデコードに使用されるBER構造体のハンドルを保持するために使用します。

STRING_COLLECTION

LDAPサーバーに渡すことができるVARCHAR2文字列のリストを保持するために使用します。

BINVAL_COLLECTION

バイナリ・データを表すRAWデータのリストを保持するために使用します。

BERVAL_COLLECTION

変更配列の代入に使用されるBERVAL値のリストを保持するために使用します。

BLOB_COLLECTION

バイナリ・データを表すBLOBデータのリストを保持するために使用します。


9.4 サブプログラム

この項では、DBMS_LDAPの各サブプログラムについてさらに詳しく説明します。

9.4.1 initファンクション

init()では、LDAPサーバーとのセッションが初期化されます。これにより、実際にLDAPサーバーとの接続が確立されます。

構文

FUNCTION init      
(
hostname IN VARCHAR2,
portnum  IN PLS_INTEGER
)
RETURN SESSION;

パラメータ

表9-4 INITファンクションのパラメータ

パラメータ 説明
hostname

接続先のLDAPサーバーを実行しているホストのIPアドレスを示す、空白で区切られたホスト名またはドット表記の文字列のリストが入ります。リスト内の各ホスト名には、コロンでホストと区切ってポート番号を含められます。ホストがリストの順序に従って試みられ、最初にホストへの接続が成功した時点で終了します。

portnum

接続先のTCPポート番号が入ります。ホスト名にポート番号が含まれている場合、このパラメータは無視されます。このパラメータを指定せず、ホスト名にポート番号を含めていない場合は、デフォルトのポート番号3060が指定されたものとみなされます。


戻り値

表9-5 INITファンクションの戻り値

説明
SESSION

以後のAPIのコールに使用できるLDAPセッション・ハンドルです。


例外

表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()を使用して認証される必要があります。

関連項目

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;

パラメータ

表9-7 SIMPLE_BIND_Sファンクションのパラメータ

パラメータ 説明
ld

有効なLDAPセッション・ハンドルです。

dn

ログイン時に使用するユーザー識別名です。

passwd

パスワードを含む文字列です。


戻り値

表9-8 SIMPLE_BIND_Sファンクションの戻り値

説明
PLS_INTEGER

正常終了した場合はDBMS_LDAP.SUCCESSです。問題があった場合は、次の例外のいずれかが呼び出されます。


例外

表9-9 SIMPLE_BIND_Sファンクションの例外

例外 説明
invalid_session

セッション・ハンドルldが無効な場合に呼び出されます。

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;

パラメータ

表9-10 BIND_Sファンクションのパラメータ

パラメータ 説明
ld

有効なLDAPセッション・ハンドルです。

dn

ユーザーの識別名です。

cred

認証に使用する資格証明を含む文字列です。

meth

認証方式です。有効な値はDBMS_LDAP_UTL.AUTH_SIMPLEのみです。


戻り値

表9-11 BIND_Sファンクションの戻り値

説明
PLS_INTEGER

正常終了した場合はDBMS_LDAP.SUCCESSです。問題があった場合は、次の例外が呼び出されます。


例外

表9-12 BIND_Sファンクションの例外

例外 説明
invalid_session

セッション・ハンドルldが無効な場合に呼び出されます。

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;

パラメータ

表9-13 UNBIND_Sファンクションのパラメータ

パラメータ 説明
ld

有効なLDAPセッション・ハンドルです。


戻り値

表9-14 UNBIND_Sファンクションの戻り値

説明
PLS_INTEGER

適切に終了した場合はDBMS_LDAP.SUCCESSです。それ以外の場合は、次の例外のいずれかが呼び出されます。


例外

表9-15 UNBIND_Sファンクションの例外

例外 説明
invalid_session

セッション・ハンドルldが無効な場合に呼び出されます。

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;

パラメータ

表9-16 COMPARE_Sファンクションのパラメータ

パラメータ 説明
ld

有効なLDAPセッション・ハンドルです。

dn

比較の対象となるエントリの名前です。

attr

比較の対象となる属性です。

value

比較の対象となる文字列の属性値です。


戻り値

表9-17 COMPARE_Sファンクションの戻り値

説明
PLS_INTEGER

属性の値が指定した値と一致した場合の戻り値はCOMPARE_TRUEです。

属性の値が指定した値と一致しない場合の戻り値はCOMPARE_FALSEです。


例外

表9-18 COMPARE_Sファンクションの例外

例外 説明
invalid_session

セッション・ハンドルldが無効な場合に呼び出されます。

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;

パラメータ

表9-19 SEARCH_Sファンクションのパラメータ

パラメータ 説明
ld

有効なLDAPセッション・ハンドルです。

base

検索の開始点となるエントリの識別名です。

scope

SCOPE_BASE (0x00)SCOPE_ONELEVEL (0x01)またはSCOPE_SUBTREE (0x02)のいずれかで、検索範囲を指定します。

filter

検索フィルタを表す文字列です。この値をNULLにすると、すべてのエントリに一致するフィルタ"(objectclass=*)"を使用するように指定できます。

attrs

一致した各エントリのどの属性を戻すかを指定する文字列の集合です。このパラメータをNULLにすると、取得可能なユーザー属性がすべて取り出されます。文字列NO_ATTRS ("1.1")を配列内の唯一の文字列として使用すると、サーバーが属性の型を戻さないように指定できます。attrs配列の中で、文字列ALL_USER_ATTRS ("*")をいくつかの操作属性名とともに使用すると、すべてのユーザー属性に加えて、リストした操作属性を戻すように指定できます。

attrsonly

属性の型と値の両方を戻す場合には0(ゼロ)、属性の型のみを要求する場合には0(ゼロ)以外を指定する必要があるブール値です。

res

コールの終了時に検索結果が入る結果パラメータです。戻される結果がない場合、*resNULLに設定されます。


戻り値

表9-20 SEARCH_Sファンクションの戻り値

説明
PLS_INTEGER

検索操作が正常終了した場合はDBMS_LDAP.SUCCESSです。その他の場合は例外が呼び出されます。

res

検索が正常終了してエントリがあった場合、このパラメータはNULL以外の値に設定されます。この値を使用すると、結果セットからエントリを取り出すことができます。


例外

表9-21 SEARCH_Sファンクションの例外

例外 説明
invalid_session

セッション・ハンドルldが無効な場合に呼び出されます。

invalid_search_scope

検索範囲が、SCOPE_BASESCOPE_ONELEVELまたはSCOPE_SUBTREEではない場合に呼び出されます。

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;

パラメータ

表9-22 SEARCH_STファンクションのパラメータ

パラメータ 説明
ld

有効なLDAPセッション・ハンドルです。

base

検索の開始点となるエントリの識別名です。

scope

SCOPE_BASE (0x00)SCOPE_ONELEVEL (0x01)またはSCOPE_SUBTREE (0x02)のいずれかで、検索範囲を指定します。

filter

検索フィルタを表す文字列です。この値をNULLにすると、すべてのエントリに一致するフィルタ"(objectclass=*)"を使用するように指定できます。

attrs

一致した各エントリのどの属性を戻すかを指定する文字列の集合です。このパラメータをNULLにすると、取得可能なユーザー属性がすべて取り出されます。文字列NO_ATTRS ("1.1")を配列内の唯一の文字列として使用すると、サーバーが属性の型を戻さないように指定できます。attrs配列の中で、文字列ALL_USER_ATTRS ("*")をいくつかの操作属性名とともに使用すると、すべてのユーザー属性に加えて、リストした操作属性を戻すように指定できます。

attrsonly

属性の型と値の両方を戻す場合には0(ゼロ)、属性の型のみを要求する場合には0(ゼロ)以外を指定する必要があるブール値です。

tv

この検索で使用する必要があるタイムアウト値です(秒およびミリ秒単位で表します)。

res

コールの終了時に検索結果が入る結果パラメータです。戻される結果がない場合、*resNULLに設定されます。


戻り値

表9-23 SEARCH_STファンクションの戻り値

説明
PLS_INTEGER

検索操作が正常終了した場合はDBMS_LDAP.SUCCESSです。その他の場合は例外が呼び出されます。

res

検索が正常終了してエントリがあった場合、このパラメータはNULL以外の値に設定されます。この値を使用すると、結果セットからエントリを取り出すことができます。


例外

表9-24 SEARCH_STファンクションの例外

例外 説明
invalid_session

セッション・ハンドルldが無効な場合に呼び出されます。

invalid_search_scope

検索範囲が、SCOPE_BASESCOPE_ONELEVELまたはSCOPE_SUBTREEではない場合に呼び出されます。

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;

パラメータ

表9-25 FIRST_ENTRYファンクションのパラメータ

パラメータ 説明
ld

有効なLDAPセッション・ハンドルです。

msg

検索結果です。同期検索ルーチンのいずれかをコールして取得されるものと同一です。


戻り値

表9-26 FIRST_ENTRYの戻り値

説明
MESSAGE

LDAPサーバーから戻されたエントリのリスト中の最初のエントリのハンドルです。エラーがあった場合はNULLに設定され、例外が呼び出されます。


例外

表9-27 FIRST_ENTRYの例外

例外 説明
invalid_session

セッション・ハンドルldが無効な場合に呼び出されます。

invalid_message

受信したmsgハンドルが無効な場合に呼び出されます。


使用方法

first_entry()ファンクションは、検索操作からの結果を取り出すために必ず最初にコールする必要があるファンクションです。

関連項目

DBMS_LDAP.next_entry()DBMS_LDAP.search_s()DBMS_LDAP.search_st()

9.4.9 next_entryファンクション

next_entry()ファンクションを使用すると、検索操作による結果セット内の次のエントリを取り出すことができます。

構文

FUNCTION next_entry 
(
ld  IN SESSION,
msg IN MESSAGE 
)
RETURN MESSAGE;

パラメータ

表9-28 NEXT_ENTRYファンクションのパラメータ

パラメータ 説明
ld

有効なLDAPセッション・ハンドルです。

msg

検索結果です。同期検索ルーチンのいずれかをコールして取得されるものと同一です。


戻り値

表9-29 NEXT_ENTRYファンクションの戻り値

説明
MESSAGE

LDAPサーバーから戻されたエントリのリスト中の次のエントリのハンドルです。エラーがあった場合はNULLに設定されて、例外が呼び出されます。


例外

表9-30 NEXT_ENTRYファンクションの例外

例外 説明
invalid_session

セッション・ハンドルldが無効な場合に呼び出されます。

invalid_message

受信したmsgハンドルが無効な場合に呼び出されます。


使用方法

next_entry()ファンクションは、必ずfirst_entry()ファンクションの後にコールする必要があります。また、リスト中の次のエントリをフェッチするには、正常終了したnext_entry()のコールの戻り値を、次のnext_entry()のコールでmsg引数として使用する必要があります。

関連項目

DBMS_LDAP.first_entry()DBMS_LDAP.search_s()DBMS_LDAP.search_st()

9.4.10 count_entriesファンクション

このファンクションは、結果セット内のエントリ数のカウントに使用します。また、first_entry()ファンクションおよびnext_entryファンクションと組み合せて使用すると、結果セットの全探索時に残っているエントリの数をカウントすることもできます。

構文

FUNCTION count_entries 
(
ld  IN SESSION,
msg IN MESSAGE 
)
RETURN PLS_INTEGER;

パラメータ

表9-31 COUNT_ENTRYファンクションのパラメータ

パラメータ 説明
ld

有効なLDAPセッション・ハンドルです。

msg

検索結果です。同期検索ルーチンのいずれかをコールして取得されるものと同一です。


戻り値

表9-32 COUNT_ENTRYファンクションの戻り値

説明
PLS_INTEGER

結果セット中にエントリがある場合の戻り値は0(ゼロ)以外です。問題があった場合は-1です。


例外

表9-33 COUNT_ENTRYファンクションの例外

例外 説明
invalid_session

セッション・ハンドルldが無効な場合に呼び出されます。

invalid_message

受信したmsgハンドルが無効な場合に呼び出されます。

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.11 first_attributeファンクション

first_attribute()ファンクションを使用すると、結果セットの中から、指定したエントリの最初の属性がフェッチされます。

構文

FUNCTION first_attribute     
(
ld          IN  SESSION,
ldapentry   IN  MESSAGE,
ber_elem    OUT BER_ELEMENT
)
RETURN VARCHAR2;

パラメータ

表9-34 FIRST_ATTRIBUTEファンクションのパラメータ

パラメータ 説明
ld

有効なLDAPセッション・ハンドルです。

ldapentry

属性を参照する対象となるエントリです。first_entry()またはnext_entry()の戻り値と同一です。

ber_elem

エントリ内の読取り済の属性を記録するために使用されるBER_ELEMENTのハンドルです。


戻り値

表9-35 FIRST_ATTRIBUTEファンクションの戻り値

説明
VARCHAR2

属性が存在する場合の戻り値はその属性の名前です。

属性が存在しない場合、またはエラーが発生した場合はNULLです。

ber_elem

DBMS_LDAP.next_attribute()で、すべての属性に対して同一処理を反復するために使用するハンドルです。


例外

表9-36 FIRST_ATTRIBUTEファンクションの例外

例外 説明
invalid_session

セッション・ハンドルldが無効な場合に呼び出されます。

invalid_message

受信したmsgハンドルが無効な場合に呼び出されます。


使用方法

エントリの様々な属性に対して処理を繰り返し行うには、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.12 next_attributeファンクション

next_attribute()ファンクションを使用すると、結果セットの中から、指定したエントリの次の属性が取り出されます。

構文

FUNCTION next_attribute 
(    
ld       IN SESSION,
ldapentry      IN MESSAGE,
ber_elem IN BER_ELEMENT
)
RETURN VARCHAR2;

パラメータ

表9-37 NEXT_ATTRIBUTEファンクションのパラメータ

パラメータ 説明
ld

有効なLDAPセッション・ハンドルです。

ldapentry

属性を参照する対象となるエントリです。first_entry()またはnext_entry()の戻り値と同一です。

ber_elem

エントリ内の読取り済の属性を記録するために使用されるBER_ELEMENTのハンドルです。


戻り値

表9-38 NEXT_ATTRIBUTEファンクションの戻り値

説明
VARCHAR2

(ファンクションの戻り値)

属性が存在する場合の戻り値はその属性の名前です。


例外

表9-39 NEXT_ATTRIBUTEファンクションの例外

例外 説明
invalid_session

セッション・ハンドルldが無効な場合に呼び出されます。

invalid_message

受信したmsgハンドルが無効な場合に呼び出されます。


使用方法

エントリの様々な属性に対して処理を繰り返し行うには、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.13 get_dnファンクション

get_dn()ファンクションを使用すると、結果セットの中から、指定したエントリのX.500識別名が取り出されます。

構文

FUNCTION get_dn
(
ld  IN SESSION,
ldapentrymsg IN MESSAGE
)
RETURN VARCHAR2;

パラメータ

表9-40 GET_DNファンクションのパラメータ

パラメータ 説明
ld

有効なLDAPセッション・ハンドルです。

ldapentry

識別名が戻り値となるエントリです。


戻り値

表9-41 GET_DNファンクションの戻り値

説明
VARCHAR2

エントリのPL/SQL文字列でのX.500識別名です。

問題があった場合はNULLです。


例外

表9-42 GET_DNファンクションの例外

例外 説明
invalid_session

セッション・ハンドルldが無効な場合に呼び出されます。

invalid_message

受信したmsgハンドルが無効な場合に呼び出されます。

get_dn_error

識別名を確認中に問題があった場合に呼び出されます。


使用方法

get_dn()ファンクションを使用すると、プログラム・ロジックが結果セット全体にわたって同一処理を反復する間に、エントリの識別名を取り出せます。また、この識別名をexplode_dn()への入力として使用すると、その識別名の個々の構成要素を取り出せます。

関連項目

DBMS_LDAP.explode_dn()

9.4.14 get_valuesファンクション

get_values()ファンクションを使用すると、特定のエントリの特定の属性に関連する値をすべて取り出せます。

構文

FUNCTION get_values
(    
ld   IN SESSION,
ldapentry IN MESSAGE,
attr IN VARCHAR2
)
RETURN STRING_COLLECTION;

パラメータ


表9-43 GET_VALUESファンクションのパラメータ

パラメータ 説明
ld

有効なLDAPセッション・ハンドルです。

ldapentry

検索結果から戻されたエントリの有効なハンドルです。

attr

値を検索する対象となる属性の名前です。


戻り値

表9-44 GET_VALUESファンクションの戻り値

説明
STRING_COLLECTION

指定した属性のすべての値を含むPL/SQL文字列の集合です。

指定した属性に関連する値がない場合はNULLです。


例外

表9-45 GET_VALUESファンクションの例外

例外 説明
invalid_session

セッション・ハンドルldが無効な場合に呼び出されます。

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;

パラメータ

表9-46 GET_VALUES_LENファンクションのパラメータ

パラメータ 説明
ld

有効なLDAPセッション・ハンドルです。

ldapentrymsg

検索結果から戻されたエントリの有効なハンドルです。

attr

値の検索対象となる属性の文字列名です。


戻り値

表9-47 GET_VALUES_LENファンクションの戻り値

説明
BINVAL_COLLECTION

指定した属性のすべての値を含むPL/SQL RAW型データの集合です。

指定した属性に関連する値がない場合はNULLです。


例外

表9-48 GET_VALUES_LENファンクションの例外

例外 説明
invalid_session

セッション・ハンドルldが無効な場合に呼び出されます。

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 delete_sファンクション

delete_s()ファンクションを使用すると、ディレクトリ情報ツリー内のリーフ・エントリを削除できます。

構文

FUNCTION delete_s
(
ld      IN SESSION,
entrydn IN VARCHAR2
)
RETURN PLS_INTEGER;

パラメータ

表9-49 DELETE_Sファンクションのパラメータ

パラメータ名 説明
ld

有効なLDAPセッションです。

entrydn

削除するエントリのX.500識別名です。


戻り値

表9-50 DELETE_Sファンクションの戻り値

説明
PLS_INTEGER

削除操作が正常終了した場合はDBMS_LDAP.SUCCESSです。その他の場合は例外が呼び出されます。


例外

表9-51 DELETE_Sファンクションの例外

例外 説明
invalid_session

セッション・ハンドルldが無効な場合に呼び出されます。

invalid_entry_dn

エントリの識別名が無効な場合に呼び出されます。

general_error

その他すべてのエラーに対応します。この例外に関連するエラー文字列で、エラーの詳細が説明されます。


使用方法

delete_s()ファンクションを使用すると、ディレクトリ情報ツリー内のリーフ・エントリのみを削除できます。リーフ・エントリとは、下位エントリを持たないエントリです。このファンクションは、リーフ以外のエントリの削除には使用できません。

関連項目

DBMS_LDAP.modrdn2_s()

9.4.17 modrdn2_sファンクション

modrdn2_s()ファンクションを使用すると、エントリの相対識別名を変更できます。

構文

FUNCTION modrdn2_s 
(
ld IN SESSION,
entrydn in VARCHAR2
newrdn in VARCHAR2
deleteoldrdn IN PLS_INTEGER
)
RETURN PLS_INTEGER;

パラメータ

表9-52 MODRDN2_Sファンクションのパラメータ

パラメータ 説明
ld

有効なLDAPセッション・ハンドルです。

entrydn

エントリの識別名です(このエントリはディレクトリ情報ツリー内のリーフ・ノードです)。

newrdn

エントリの新しい相対識別名です。

deleteoldrdn

0(ゼロ)以外にした場合は、古い名前から引き継いだ属性値をエントリから削除する必要があることを示すブール値です。


戻り値

表9-53 MODRDN2_Sファンクションの戻り値

説明
PLS_INTEGER

操作が正常終了した場合はDBMS_LDAP.SUCCESSです。その他の場合は例外が呼び出されます。


例外

表9-54 MODRDN2_Sファンクションの例外

例外 説明
invalid_session

セッション・ハンドルldが無効な場合に呼び出されます。

invalid_entry_dn

エントリの識別名が無効な場合に呼び出されます。

invalid_rdn

LDAP相対識別名が無効です。

invalid_deleteoldrdn

LDAP deleteoldrdnが無効です。

general_error

その他すべてのエラーに対応します。この例外に関連するエラー文字列で、エラーの詳細が説明されます。


使用方法

nodrdn2_s()ファンクションを使用すると、ディレクトリ情報ツリーのリーフ・ノードの名前を変更できます。認識の指標となる相対識別名のみが変更されます。LDAP v3規格では、このファンクションの使用は非推奨です。同じ目的を実現するrename_s()を使用してください。

関連項目

DBMS_LDAP.rename_s()

9.4.18 err2stringファンクション

err2string()ファンクションを使用すると、LDAPエラー・コードを、APIの動作環境で使用されている各国語の文字列に変換できます。

構文

FUNCTION err2string
( 
ldap_err IN PLS_INTEGER 
)
RETURN VARCHAR2;

パラメータ

表9-55 ERR2STRINGファンクションのパラメータ

パラメータ 説明
ldap_err

いずれかのAPIコールから戻されたエラー番号です。


戻り値

表9-56 ERR2STRINGファンクションの戻り値

説明
VARCHAR2

各国語へ変換された文字列です。この文字列で、エラーの詳細が説明されます。


例外

err2string()では、例外は呼び出されません。

使用方法

このリリースでは、APIコールにエラーが発生した場合、例外処理メカニズムによって自動的にこのファンクションがコールされます。

9.4.19 create_mod_arrayファンクション

create_mod_array()ファンクションを使用すると、modify_s()ファンクションまたはadd_s()ファンクションを使用してエントリに適用される変更配列に、メモリーが割り当てられます。

構文

FUNCTION create_mod_array 
(
num IN PLS_INTEGER
)
RETURN MOD_ARRAY;

パラメータ

表9-57 CREATE_MOD_ARRAYファンクションのパラメータ

パラメータ 説明
num

追加または変更する属性の数です。


戻り値

表9-58 CREATE_MOD_ARRAYファンクションの戻り値

説明
MOD_ARRAY

このデータ構造により、LDAP変更配列へのポインタが保持されます。

問題があった場合の戻り値はNULLです。


例外

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.20 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
);

パラメータ

表9-59 POPULATE_MOD_ARRAY(文字列バージョン)プロシージャのパラメータ

パラメータ 説明
modptr

このデータ構造により、LDAP変更配列へのポインタが保持されます。

mod_op

このフィールドで実行する変更のタイプ(MOD_ADDMOD_DELETEまたはMOD_REPLACE)を指定します。

mod_type

このフィールドで、変更を適用する属性の型の名前を指定します。

modval

このフィールドで、追加、削除または置換する属性値を指定します。対象は文字列値のみです。


例外

表9-60 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.21 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
);

パラメータ

表9-61 POPULATE_MOD_ARRAY(バイナリ・バージョン)プロシージャのパラメータ

パラメータ 説明
modptr

このデータ構造により、LDAP変更配列へのポインタが保持されます。

mod_op

このフィールドで実行する変更のタイプ(MOD_ADDMOD_DELETEまたはMOD_REPLACE)を指定します。

mod_type

このフィールドで、変更を適用する属性の型の名前を指定します。

modbval

このフィールドで、追加、削除または置換する属性値を指定します。対象はバイナリ値のみです。


例外

表9-62 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プロシージャ(バイナリ・バージョン。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
);

パラメータ

表9-63 POPULATE_MOD_ARRAY(バイナリ)のパラメータ

パラメータ 説明
modptr

このデータ構造により、LDAP変更配列へのポインタが保持されます。

mod_op

このフィールドで実行する変更のタイプ(MOD_ADDMOD_DELETEまたはMOD_REPLACE)を指定します。

mod_type

このフィールドで、変更を適用する属性の型の名前を指定します。

modbval

このフィールドで、追加、削除または置換するバイナリ属性値を指定します。


例外

表9-64 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 get_values_blobファンクション

get_values_blob()ファンクションを使用すると、バイナリ構文を持つ属性のより大きな値を取り出せます。

構文

Syntax
FUNCTION get_values_blob
(
ld IN SESSION,
ldapentry IN MESSAGE,
attr IN VARCHAR2
)
RETURN BLOB_COLLECTION;

パラメータ

表9-65 GET_VALUES_BLOBのパラメータ

パラメータ 説明
ld

有効なLDAPセッション・ハンドルです。

ldapentrymsg

検索結果から戻されたエントリの有効なハンドルです。

attr

値の検索対象となる属性の文字列名です。


戻り値

表9-66 get_values_blobの戻り値

説明
BLOB_COLLECTION

指定した属性のすべての値を含むPL/SQL BLOB型データの集合です。

NULL

指定した属性に関連する値がありません。


例外

表9-67 get_values_blobの例外

例外 説明
invalid_session

セッション・ハンドルldが無効な場合に呼び出されます。

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.24 count_values_blobファンクション

DBMS_LDAP.get_values_blob()によって戻された値の数をカウントします。

構文

FUNCTION count_values_blob
(
values IN DBMS_LDAP.BLOB_COLLECTION
)
RETURN PLS_INTEGER;

パラメータ

表9-68 COUNT_VALUES_BLOBのパラメータ

パラメータ 説明
values

ラージ・バイナリ値の集合です。


戻り値

表9-69 COUNT_VALUES_BLOBの戻り値

説明
PLS_INTEGER

操作の成功または失敗を示します。


例外

count_values_blob()では、例外は呼び出されません。

関連項目

DBMS_LDAP.count_values()DBMS_LDAP.get_values_blob()

9.4.25 value_free_blobファンクション

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

構文

PROCEDURE value_free_blob
(
vals IN OUT DBMS_LDAP.BLOB_COLLECTION
);

パラメータ

表9-70 VALUE_FREE_BLOBのパラメータ

パラメータ 説明
vals

DBMS_LDAP.get_values_blob()によって戻されたラージ・バイナリ値の集合です。


例外

value_free_blob()では、例外は呼び出されません。

関連項目

DBMS_LDAP.get_values_blob()

9.4.26 modify_sファンクション

既存のLDAPディレクトリ・エントリの同期変更を実行します。

構文

FUNCTION modify_s
(
ld      IN DBMS_LDAP.SESSION,
entrydn IN VARCHAR2,
modptr  IN DBMS_LDAP.MOD_ARRAY
)
RETURN PLS_INTEGER;

パラメータ

表9-71 MODIFY_Sファンクションのパラメータ

パラメータ 説明
ld

このパラメータは、DBMS_LDAP.init()のコールが正常終了した場合に戻されるLDAPセッションのハンドルです。

entrydn

このパラメータで、内容を変更するディレクトリ・エントリの名前を指定します。

modptr

このパラメータはLDAP変更構造体のハンドルで、DBMS_LDAP.create_mod_array()のコールが正常終了した場合の戻り値と同一です。


戻り値

表9-72 MODIFY_Sファンクションの戻り値

説明
PLS_INTEGER

変更操作の成功または失敗を示します。


例外

表9-73 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.27 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;

パラメータ

表9-74 ADD_Sファンクションのパラメータ

パラメータ 説明
ld

このパラメータはLDAPセッションのハンドルで、DBMS_LDAP.init()のコールが正常終了した場合の戻り値と同一です。

entrydn

このパラメータで、作成するディレクトリ・エントリの名前を指定します。

modptr

このパラメータはLDAP変更構造体のハンドルで、DBMS_LDAP.create_mod_array()のコールが正常終了した場合の戻り値と同一です。


戻り値

表9-75 ADD_Sファンクションの戻り値

説明
PLS_INTEGER

変更操作の成功または失敗を示します。


例外

表9-76 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.28 free_mod_arrayプロシージャ

DBMS_LDAP.create_mod_array()によって割り当てられたメモリーを解放します。

構文

PROCEDURE free_mod_array
(
modptr IN DBMS_LDAP.MOD_ARRAY
);

パラメータ

表9-77 FREE_MOD_ARRAYプロシージャのパラメータ

パラメータ 説明
modptr

このパラメータは、DBMS_LDAP.create_mod_array()のコールが正常終了した場合に戻されるLDAP変更構造体のハンドルです。


例外

free_mod_arrayでは、例外は呼び出されません。

関連項目

DBMS_LDAP.populate_mod_array()DBMS_LDAP.modify_s()DBMS_LDAP.add_s()およびDBMS_LDAP.create_mod_array()

9.4.29 count_valuesファンクション

DBMS_LDAP.get_values()によって戻された値の数をカウントします。

構文

FUNCTION count_values
(
values IN DBMS_LDAP.STRING_COLLECTION
)
RETURN PLS_INTEGER;

パラメータ

表9-78 COUNT_VALUESファンクションのパラメータ

パラメータ 説明
values

文字列値の集合です。


戻り値

表9-79 COUNT_VALUESファンクションの戻り値

説明
PLS_INTEGER

操作の成功または失敗を示します。


例外

count_valuesでは、例外は呼び出されません。

関連項目

DBMS_LDAP.count_values_len()DBMS_LDAP.get_values()

9.4.30 count_values_lenファンクション

DBMS_LDAP.get_values_len ()によって戻された値の数をカウントします。

構文

FUNCTION count_values_len 
(
values IN DBMS_LDAP.BINVAL_COLLECTION
)
RETURN PLS_INTEGER;

パラメータ

表9-80 COUNT_VALUES_LENファンクションのパラメータ

パラメータ 説明
values

バイナリ値の集合です。


戻り値

表9-81 COUNT_VALUES_LENファンクションの戻り値

説明
PLS_INTEGER

操作の成功または失敗を示します。


例外

count_values_lenでは、例外は呼び出されません。

関連項目

DBMS_LDAP.count_values()DBMS_LDAP.get_values_len()

9.4.31 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;

パラメータ

表9-82 RENAME_Sファンクションのパラメータ

パラメータ 説明
ld

このパラメータは、DBMS_LDAP.init()のコールが正常終了した場合に戻されるLDAPセッションのハンドルです。

dn

このパラメータで、名前を変更または移動するディレクトリ・エントリの名前を指定します。

newrdn

このパラメータで、新しい相対識別名を指定します。

newparent

このパラメータで、新しい親の識別名を指定します。

deleteoldrdn

このパラメータで、古い相対識別名を保持するかどうかを指定します。この値を1にすると、古い相対識別名が削除されます。

serverctrls

現在はサポートされていません。

clientctrls

現在はサポートされていません。


戻り値

表9-83 RENAME_Sファンクションの戻り値

説明
PLS_INTEGER

操作の成功または失敗を示します。


例外

表9-84 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.32 explode_dnファンクション

識別名を個々の構成要素に分割します。

構文

FUNCTION explode_dn 
(
dn      IN VARCHAR2,
notypes IN PLS_INTEGER
)
RETURN STRING_COLLECTION;

パラメータ

表9-85 EXPLODE_DNファンクションのパラメータ

パラメータ 説明
dn

このパラメータで、分割するディレクトリ・エントリの名前を指定します。

notypes

このパラメータで、属性タグを戻すかどうかを指定します。この値を0(ゼロ)以外にすると、属性タグは戻されません。


戻り値

表9-86 EXPLODE_DNファンクションの戻り値

説明
STRING_COLLECTION

文字列の配列です。識別名が分割できない場合はNULLが戻されます。


例外

表9-87 EXPLODE_DNファンクションの例外

例外 説明
invalid_entry_dn

LDAP識別名が無効です。

invalid_notypes

LDAP notypes値が無効です。


関連項目

DBMS_LDAP.get_dn()

9.4.33 open_sslファンクション

すでに確立されているLDAP接続を介してSSL接続を確立します。

構文

FUNCTION open_ssl
(
ld              IN SESSION,
sslwrl          IN VARCHAR2,
sslwalletpasswd IN VARCHAR2,
sslauth         IN PLS_INTEGER
)
RETURN PLS_INTEGER;

パラメータ

表9-88 OPEN_SSLファンクションのパラメータ

パラメータ 説明
ld

このパラメータは、DBMS_LDAP.init()のコールが正常終了した場合に戻されるLDAPセッションのハンドルです。

sslwrl

このパラメータで、ウォレットの位置を指定します。書式はfile:pathです。サーバー、またはクライアントとサーバーのSSL接続の場合は必須です。

sslwalletpasswd

このパラメータで、ウォレットのパスワードを指定します。サーバー、またはクライアントとサーバーのSSL接続の場合は必須です。

sslauth

このパラメータで、SSL認証モードを指定します。(認証なしの場合は1、一方向認証の場合は2、双方向認証の場合は3です)。


戻り値

表9-89 OPEN_SSLファンクションの戻り値

説明
PLS_INTEGER

操作の成功または失敗を示します。


例外

表9-90 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.34 msgfreeファンクション

同期検索ファンクションによって戻されたメッセージ・ハンドルに対応付けられている結果セットを解放します。

構文

FUNCTION msgfree
(
res             IN MESSAGE
)
RETURN PLS_INTEGER;

パラメータ

表9-91 MSGFREEファンクションのパラメータ

パラメータ 説明
res

同期検索ルーチンのいずれかをコールして取得されるメッセージ・ハンドルです。


戻り値

表9-92 MSGFREEの戻り値

説明
PLS_INTEGER

結果セット内にある最後のメッセージのタイプを示します。

このファンクションの戻り値は、次の値のいずれかになります。

  • DBMS_LDAP.LDAP_RES_BIND

  • DBMS_LDAP.LDAP_RES_SEARCH_ENTRY

  • DBMS_LDAP.LDAP_RES_SEARCH_REFERENCE

  • DBMS_LDAP.LDAP_RES_SEARCH_RESULT

  • DBMS_LDAP.LDAP_RES_MODIFY

  • DBMS_LDAP.LDAP_RES_ADD

  • DBMS_LDAP.LDAP_RES_DELETE

  • DBMS_LDAP.LDAP_RES_MODDN

  • DBMS_LDAP.LDAP_RES_COMPARE

  • DBMS_LDAP.LDAP_RES_EXTENDED


例外

msgfreeでは、例外は呼び出されません。

関連項目

DBMS_LDAP.search_s()DBMS_LDAP.search_st()

9.4.35 ber_freeファンクション

BER ELEMENTへのハンドルに対応付けられたメモリーを解放します。

構文

FUNCTION ber_free 
(
ber_elem IN BER_ELEMENT,
freebuf  IN PLS_INTEGER
)

パラメータ

表9-93 BER_FREEファンクションのパラメータ

パラメータ 説明
ber_elem

BER ELEMENTへのハンドルです。

freebuf

DBMS_LDAP.first_attribute()から戻されたBER ELEMENTを解放している間、このフラグの値は0(ゼロ)であることが必要です。それ以外の場合、このフラグの値は1であることが必要です。

このパラメータのデフォルト値は0(ゼロ)です。


戻り値

ber_freeでは、値は戻されません。

例外

ber_freeでは、例外は呼び出されません。

関連項目

DBMS_LDAP.first_attribute()DBMS_LDAP.next_attribute()

9.4.36 nls_convert_to_utf8ファンクション

nls_convert_to_utf8ファンクションでは、データベース・キャラクタ・セットのデータを含む入力文字列をUTF-8キャラクタ・セットのデータに変換して戻します。

構文

Function nls_convert_to_utf8
(
        data_local IN VARCHAR2
)
        RETURN VARCHAR2;

パラメータ

表9-94 nls_convert_to_utf8のパラメータ

パラメータ 説明
data_local

データベース・キャラクタ・セットのデータを指定します。


戻り値

表9-95 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.37 nls_convert_to_utf8ファンクション

nls_convert_to_utf8()ファンクションでは、データベース・キャラクタ・セットのデータを含む入力文字列のコレクションをUTF-8キャラクタ・セットのデータに変換します。その後、変換したデータを戻します。

構文

Function nls_convert_to_utf8
(
        data_local IN STRING_COLLECTION
)
        RETURN STRING_COLLECTION;

パラメータ

表9-96 nls_convert_to_utf8のパラメータ

パラメータ 説明
data_local

データベース・キャラクタ・セットのデータを含む文字列のコレクションです。


戻り値

表9-97 nls_convert_to_utf8の戻り値

説明
STRING_COLLECTION

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 VARCHAR2
)
        RETURN VARCHAR2;

パラメータ

表9-98 nls_convert_from_utf8のパラメータ

パラメータ 説明
data_utf8

UTF-8キャラクタ・セットのデータを指定します。


戻り値

表9-99 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_convert_from_utf8ファンクション

nls_convert_from_utf8()ファンクションでは、UTF-8キャラクタ・セットのデータを含む入力文字列のコレクションをデータベース・キャラクタ・セットのデータに変換します。その後、このデータを戻します。

構文

Function nls_convert_from_utf8
(
        data_utf8 IN STRING_COLLECTION
)
        RETURN STRING_COLLECTION;

パラメータ

表9-100 nls_convert_from_utf8のパラメータ

パラメータ 説明
data_utf8

UTF-8キャラクタ・セットのデータを含む文字列のコレクションです。


戻り値

表9-101 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.40 nls_get_dbcharset_nameファンクション

nls_get_dbcharset_name()ファンクションでは、データベース・キャラクタ・セット名を含む文字列を戻します。

構文

Function nls_get_dbcharset_name

        RETURN VARCHAR2;

パラメータ

ありません。

戻り値

表9-102 nls_get_dbcharset_nameの戻り値

説明
VARCHAR2

データベース・キャラクタ・セット名を含む文字列です。


関連項目

DBMS_LDAP.nls_convert_to_utf8()DBMS_LDAP.nls_convert_from_utf8()