Oracle® Fusion Middleware Oracle Data Integrator接続およびナレッジ・モジュール・ガイド 11gリリース1(11.1.1) B62261-01 |
|
![]() 戻る |
![]() 次へ |
この章では、Oracle Data IntegratorでのLDAPディレクトリの使用方法について説明します。
この章の内容は次のとおりです。
Oracle Data Integratorでは、Oracle Data Integrator Driver for LDAPを使用したLDAPディレクトリ統合がサポートされています。
LDAPの概念は、Oracle Data Integratorの概念に次のようにマップされます。各LDAPディレクトリ(さらに具体的に言うと、そのLDAPツリーのエントリ・ポイント)は、Oracle Data Integrator内の1つのデータ・サーバーに対応します。このデータ・サーバー内では、単一のスキーマがLDAPディレクトリ・ツリーのコンテンツにマップされます。
Oracle Data Integrator Driver for LDAP(LDAPドライバ)により、LDAPツリーの階層構造がリレーショナル・スキーマにロードされます。このリレーショナル・スキーマは、標準のSQL文を使用した問合せまたは変更が可能な一連の表です。
リレーショナル・スキーマは、表、列および制約とともに、ODIでデータ・モデルとしてリバース・エンジニアリングされます。このモデルは、ODI内で通常のリレーショナル・データ・モデルと同様に使用されます。リレーショナル・スキーマ・データで実行されたすべての変更(挿入/更新)は、ドライバによって、ただちにLDAPデータに反映されます。
このドライバの詳細は、付録A「Oracle Data Integrator Driver for LDAPの参照情報」を参照してください。
Oracle Data Integratorには、LDAPテクノロジ専用のナレッジ・モジュール(KM)は用意されていません。LDAPは、SQLデータ・サーバーとして使用できます。LDAPデータ・サーバーでは、SQLデータ・サーバーをソース指定またはターゲット指定するテクノロジ固有のKMと汎用KMの両方がサポートされています。これらのKMの詳細は、第4章「汎用SQL」またはテクノロジの章を参照してください。
LDAPテクノロジでの作業を開始する前に、この項の情報を必ず読んでください。
インストールを実行する前に、システム要件および動作要件のドキュメントを読んで、使用する環境がインストールする製品の最低インストール要件を満たすことを確認する必要があります。
サポートされているプラットフォームおよびバージョンのリストには、次のOracle Technical Network(OTN)からアクセスできます。
http://www.oracle.com/technology/products/oracle-data-integrator/index.html
Oracle Data IntegratorでLDAPディレクトリを使用するためのテクノロジ固有の要件はありません。
この項では、LDAPデータベースに接続するための要件をリストします。
Oracle Data Integrator Driver for LDAP
LDAPディレクトリへのアクセスは、Oracle Data Integrator Driver for LDAPを介して行われます。このJDBCドライバは、Oracle Data Integratorとともにインストールされます。
LDAPディレクトリに接続するには、次の接続情報についてシステム管理者に問い合せてください。
ディレクトリに接続するためのURL。
ディレクトリに接続するためユーザーおよびパスワード。
基本識別名(ベースDN)。これは、ODIがアクセスするLDAPツリー内の場所です。
参照LDAPツリー構造およびドライバの外部記憶域データベースへの接続が必要になる場合もあります。これらの概念および構成パラメータの詳細は、付録B「Oracle Data Integrator Driver for XMLの参照情報」を参照してください。
トポロジの設定には次が含まれます。
各LDAPデータ・サーバーは、Oracle Data Integratorにアクセス可能な1つのLDAPツリーに対応します。
『Oracle Fusion Middleware Oracle Data Integrator開発者ガイド』のデータ・サーバーの作成に関する項に記載されている標準の手順で、LDAPテクノロジ用データ・サーバーを作成します。この項では、LDAPデータ・サーバーの定義に関する必須または固有のフィールドのみについて説明します。
「定義」タブ:
名前: Oracle Data Integratorに表示されるデータ・サーバーの名前。
ユーザー/パスワード: LDAPディレクトリ・ユーザーの名前およびパスワード。
使用するドライバに応じて、「JDBC」タブに次の値を入力します。
JDBCドライバ: com.sunopsis.ldap.jdbc.driver.SnpsLdapDriver
JDBC URL: ドライバでサポートされるURL書式は次の2つです。
jdbc:snps:ldap?<property>=<value>[&<property>=<value>...]
jdbc:snps:ldap2?<property>=<value>[&<property>=<value>...]
これらの2つのURLでは、表24-1にリストされている主要なプロパティが受け入れられます。これらのプロパティの詳細な説明およびJDBCドライバの全プロパティの包括的なリストは、付録Aの「ドライバの構成」の項を参照してください。
注意: 最初のURLでは、LDAPディレクトリのパスワードをエンコードする必要があります。2番目のURLでは、LDAPディレクトリのパスワードをエンコードせずに指定できます。最初のURLを使用して、LDAPディレクトリのパスワードを保護することをお薦めします。 |
表24-1 JDBCドライバのプロパティ
プロパティ | 値 | 説明 |
---|---|---|
ldap_auth |
<認証モード> |
LDAPディレクトリの認証方式。表A-2の |
ldap_url |
<LDAP URL> |
LDAPディレクトリのURL。表A-2の |
ldap_user |
<LDAPユーザー名> |
LDAPディレクトリのユーザー名。表A-2の |
ldap_password |
<LDAPユーザー・パスワード> |
LDAPディレクトリ・ユーザーのパスワード。jdbc:snps:ldap URL構文を使用する場合は、このパスワードをエンコードする必要があります。 表A-2の |
lldap_basedn |
<ベースDN> |
LDAPディレクトリのベースDN。表A-2の |
URLの例
ユーザーorcladmin
を使用して、サーバーOHOST_OID
およびポート3060
にあるOracle Internet Directoryに接続し、ベースDN dc=us,dc=oracle,dc=com
からこのディレクトリ・ツリーにアクセスする場合は、次のURLを使用できます。
jdbc:snps:ldap?ldap_url=ldap://OHOST_OID:3060/ &ldap_basedn=dc=us,dc=oracle,dc=com &ldap_password=ENCODED_PASSWORD &ldap_user=cn=orcladmin
『Oracle Fusion Middleware Oracle Data Integrator開発者ガイド』の物理スキーマの作成に関する項に記載されている標準の手順で、LDAP物理スキーマを作成します。
『Oracle Fusion Middleware Oracle Data Integrator開発者ガイド』の論理スキーマの作成に関する項に記載されている標準の手順で、この物理スキーマ用の論理スキーマを作成し、特定のコンテキストで関連付けます。
LDAPデータベースを使用してプロジェクトを設定するには、標準の手順に従います。『Oracle Fusion Middleware Oracle Data Integrator開発者ガイド』の統合プロジェクトの作成に関する項を参照してください。
作業を開始するにあたり、使用するプロジェクトに次のナレッジ・モジュールをインポートすることをお薦めします。
LKM SQL to SQL
LKM File to SQL
IKM SQL Control Append
この項の内容は次のとおりです。
データ・モデルによって、一連のデータストアがグループ化されます。各データストアは、1つのディレクトリに関連して、1つのクラスまたはクラスのグループを表します。通常、クラスは表に、属性は列にマップされます。詳細は、付録Aの「LDAPからリレーショナルへのマッピング」の項を参照してください。
『Oracle Fusion Middleware Oracle Data Integrator開発者ガイド』のモデルの作成に関する項に記載されている標準の手順で、LDAPモデルを作成します。
LDAPでは、LDAPドライバの機能のみを使用する標準のリバース・エンジニアリングがサポートされています。
LDAPドライバのリバース・エンジニアリング・プロセスによってLDAPツリーがリレーショナル・データベース構造に変換させる際に、ツリー内のオブジェクト・セットに基づいて表が構成されます。
これらの2つの間のマッピングを維持するためには、これらの表の名前に、この元の構造を反映させる必要があります。その結果として表名は元のLDAPオブジェクト名で構成され、統合インタフェースのデータストア名には適さない、非常に長い名前になる可能性があります。
この解決策として、短く分かりやすい表名の別名を含む別名ファイルを作成します。詳細は、付録Aの「表の別名の構成」の項を参照してください。
標準のリバース・エンジニアリング
LDAPで標準のリバース・エンジニアリングを実行するには、『Oracle Fusion Middleware Oracle Data Integrator開発者ガイド』のモデルのリバース・エンジニアリングに関する項に記載されている通常の手順を行います。
標準のリバース・エンジニアリング・プロセスでは、LDAPツリーのコンテンツがリレーショナル・データベース構造に自動的にマップされます。これらの表には、ディレクトリ階層をマップするための主キーおよび外部キーの列が自動的に含まれます。
また、リバース・エンジニアリング・プロセスでは、下位のLDAPエントリ・ポイントからLDAPツリー構造のルートを表すROOT表も作成されます。
詳細は、付録Aの「LDAPプロセスの概要」の項を参照してください。
LDAPエントリは、統合インタフェースのソースまたはターゲットとして使用できます。
インタフェースまたはチェック用に選択したKMによって、このインタフェースまたはチェックの機能およびパフォーマンスが決まります。この項に示す推奨事項は、LDAPデータ・サーバーに関連する様々な状況でのKMの選択に役立ちます。
LDAPディレクトリは、インタフェースのソースまたはターゲットとして使用できます。インタフェース・フロー・タブでの、LDAPエントリと別のタイプのデータ・サーバー間でデータをロードするためのLKMの選択は、インタフェースのパフォーマンスに関してきわめて重要です。
汎用SQL KMまたは関係するもう一方のテクノロジ固有のKMを使用して、LDAPデータベースからターゲットまたはステージング領域のデータベースへデータをロードします。
LDAPソースからステージング領域へのロードに使用できるKMの例を表24-2に示します。
この項では、Oracle Data IntegratorでのLDAPの使用時に発生する可能性がある問題のトラブルシューティングに関する情報を提供します。内容は次のとおりです。
リレーショナル・モデルで実行されたSQL操作(挿入、更新、削除)がLDAPディレクトリに伝播されない。
リレーショナル・モデルの格納に外部RDBMSを使用している可能性があります。
java.util.MissingResourceException: Can't find bundle for base name ldap_....
プロパティ・バンドル・ファイルがないか、不正なディレクトリにある、もしくはファイル名が不正です。
java.sql.SQLException: A NamingException occurred saying: [LDAP: error code 32 ....
接続プロパティ・バンドルが正しくない可能性があります。バンドル・ファイルでプロパティ値を確認してください。
java.sql.SQLException: A NamingException occurred saying: [LDAP: error code 49 - Invalid Credentials]
認証プロパティが正しくない可能性があります。パスワードを確認してください。
java.sql.SQLException: Exception class javax.naming.NameNotFoundException occurred saying: [LDAP: error code 32 - No Such Object].
LDAPツリー・エントリ・ポイントが正しくない可能性があります。LDAP URLのターゲットDistinguishedNameを確認してください。
java.sql.SQLException: No suitable driver
このエラー・メッセージは、URLを処理できるドライバが登録されていないことを示します。JDBC URLが正しくない可能性があります。URL構文が有効であることを確認してください。A.3項「インストールおよび構成」を参照してください。