Oracle® Fusion Middleware Oracle Data Integrator接続およびナレッジ・モジュール・ガイド 12c (12.2.1) E69912-01 |
|
前 |
次 |
この章では、Oracle Data IntegratorでのLDAPディレクトリの使用方法について説明します。
この章には次の項が含まれます:
Oracle Data Integratorでは、Oracle Data Integrator Driver for LDAPを使用したLDAPディレクトリ統合がサポートされています。
LDAPの概念は、Oracle Data Integratorの概念に次のようにマップされます。1つの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 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では、表20-1に示されている主要なプロパティが受け入れられます。これらのプロパティの詳細な説明およびJDBCドライバの全プロパティの包括的なリストは、付録Aの「ドライバの構成」の項を参照してください。
注意: 最初のURLでは、LDAPディレクトリのパスワードをエンコードする必要があります。2番目のURLでは、LDAPディレクトリのパスワードをエンコードせずに指定できます。最初のURLを使用して、LDAPディレクトリのパスワードを保護することをお薦めします。 |
表20-1 JDBC URLのプロパティ
プロパティ | 値 | 説明 |
---|---|---|
ldap_auth |
<認証モード> |
LDAPディレクトリの認証方式。 |
ldap_url |
<LDAP URL> |
LDAPディレクトリのURL。URLには空白を含めないでください。URLに空白がある場合は、その空白を%20に置き換えてください。
|
ldap_user |
<LDAPユーザー名> |
LDAPディレクトリのユーザー名。 |
ldap_password |
<LDAPユーザー・パスワード> |
LDAPディレクトリ・ユーザーのパスワード。jdbc:snps:ldap URL構文を使用する場合は、このパスワードをエンコードする必要があります。
|
ldap_basedn |
<ベースDN> |
LDAPディレクトリのベースDN。ベースDNには空白を含めないでください。ベースDNに空白がある場合は、その空白を%20に置き換えてください。
|
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 Data Integratorの管理』の物理スキーマの作成に関する項の説明に従って、標準の手順を使用してLDAP物理スキーマを作成します。
『Oracle Data Integratorの管理』の論理スキーマの作成に関する項の説明に従って、標準の手順を使用してこの物理スキーマ用の論理スキーマを作成し、特定のコンテキストで関連付けます。
LDAPデータベースを使用してプロジェクトを設定するには、標準の手順に従います。『Oracle Data Integratorでの統合プロジェクトの開発』の統合プロジェクトの作成に関する項を参照してください。
作業を開始するにあたり、使用するプロジェクトに次のナレッジ・モジュールをインポートすることをお薦めします。
LKM SQL to SQL
LKM File to SQL
IKM SQL Control Append
この項には次のトピックが含まれます:
データ・モデルによって、一連のデータストアがグループ化されます。各データストアは、1つのディレクトリに関連して、1つのクラスまたはクラスのグループを表します。通常、クラスは表に、属性は列にマップされます。詳細は、付録Aの「LDAPからリレーショナルへのマッピング」の項を参照してください。
『Oracle Data Integratorでの統合プロジェクトの開発』のモデルの作成に関する項の説明に従って、標準の手順を使用してLDAPモデルを作成します。
LDAPでは、LDAPドライバの機能のみを使用する標準のリバース・エンジニアリングがサポートされています。
LDAPドライバのリバース・エンジニアリング・プロセスによってLDAPツリーがリレーショナル・データベース構造に変換させる際に、ツリー内のオブジェクト・セットに基づいて表が構成されます。
これらの2つの間のマッピングを維持するためには、これらの表の名前に、この元の構造を反映させる必要があります。その結果として表名は元のLDAPオブジェクト名で構成され、マッピングのデータストア名には適さない、非常に長い名前になる可能性があります。
この解決策として、短く分かりやすい表名の別名を含む別名ファイルを作成します。詳細は、付録Aの「表の別名の構成」の項を参照してください。
標準のリバース・エンジニアリング
LDAPで標準のリバースエンジニアリングを実行するには、『Oracle Data Integratorでの統合プロジェクトの開発』のモデルのリバースエンジニアリングに関する項の説明に従って、通常の手順を使用します。
標準のリバース・エンジニアリング・プロセスでは、LDAPツリーのコンテンツがリレーショナル・データベース構造に自動的にマップされます。これらの表には、ディレクトリ階層をマップするための主キーおよび外部キーの列が自動的に含まれます。
また、リバース・エンジニアリング・プロセスでは、下位のLDAPエントリ・ポイントからLDAPツリー構造のルートを表すROOT表も作成されます。
詳細は、付録Aの「LDAPプロセスの概要」の項を参照してください。
LDAPエントリをマッピングのソースまたはターゲットとして使用できます。
マッピングまたはチェック用に選択したKMによって、このマッピングまたはチェックの機能およびパフォーマンスが決まります。この項に示す推奨事項は、LDAPデータ・サーバーに関連する様々な状況でのKMの選択に役立ちます。
LDAPディレクトリは、マッピングのソースまたはターゲットとして使用できます。「ロード・ナレッジ・モジュール」タブでの、LDAPエントリと別のタイプのデータ・サーバー間でデータをロードするためのLKMの選択は、マッピングのパフォーマンスに関してきわめて重要です。
この項では、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項「インストールおよび構成」を参照してください。