C Netscape LDAP SDK APIからOracle LDAP SDK APIへの移行
次の各トピックでは、Netscape LDAP SDKとOracle Internet Directory LDAP SDKとの違いについて説明します。
ノート:
Oracle Internet Directory SDK C APIの詳細は、「C APIリファレンス」で説明されています。
C.1 機能の比較
Oracle Internet Directory LDAP SDKとNetscapeのSDKの機能について説明します。
Oracle Internet Directory LDAP SDKの次の機能は、NetscapeのSDK機能と異なります。
-
Netscape SDKでは、参照を処理するために、クライアントはLDAPリバインド・コールバックを登録する必要があります。Oracle LDAP SDKでは自動的に処理されます。
-
LDAP構造へのアクセス方法が異なります。Netscape LDAP SDKのLDAPハンドルは不透明型です。このハンドル内の個々のフィールドにアクセスするには、アクセサリ機能が必要です。Oracle Internet Directory LDAP SDKでは、LDAP構造が公開されており、クライアントは構造内の個々のフィールドを変更できます。
-
Oracle LDAP SDKでは、ldap_init()ではなくldap_open()を使用します。
-
Oracle LDAP SDKでは、SSL接続の初期化には異なるファンクション・コールおよびプロシージャが必要です。SSL用のOracle Internet Directoryファンクション・コールの詳細は、「C APIリファレンス」を参照してください。
-
Oracle Internet Directory C APIは、ライブラリおよびその他のファイルなどのOracle環境に依存します。Oracle Application ServerまたはOracle Databaseをインストールし、アプリケーションを作成する前に、環境変数$ORACLE_HOMEを適切な場所に設定する必要があります。
-
LDAP SDKユーザーは、メモリーをクリアするcalloc()などの割当て機能を使用して、LDAPMod structure()を割り当てる必要があります。
-
Oracle Internet Directory APIはスレッド・セーフではありません。
C.2 ファンクションの比較
Netscape LDAP SDKで使用でき、Oracle LDAP SDKでは使用できないファンクションについて説明します。
-
Oracle LDAP SDKには、ldap_ber_free()ファンクションはありません。かわりに、ber_free()を使用します。
-
Oracle LDAP SDKには、ldエラーおよび一致した文字列を取得するためのldap_get_lderrno()ファンクションはありません。LDAP.ld_matchedおよびLDAP.ld_errorフィールドにアクセスすることで、この情報を直接取得できます。ユーザーがアクセスする必要のあるLDAP構造のフィールドは、この2つのみです。