SQL データベース用の mysql1 という名前の JDBC データソースを作成します。
% dpconf create-jdbc-data-source -b sample_sql -B jdbc:mysql://host2.example.com:3306 \ -J file:/net/host2.example/local/mysql/lib/jdbc.jar -S com.mysql.jdbc.Driver mysql1 |
SQL データベースのユーザー名とパスワードファイルを指定します。
% dpconf set-jdbc-data-source-prop mysql1 db-pwd-file:sqlpwd.txt db-user:root |
プロキシサーバーを再起動します。
% dpadm restart /local/dps |
データソースを有効にして、データソースへの書き込み操作を許可します。
% dpconf set-jdbc-data-source-prop mysql1 is-enabled:true is-read-only:false |
mysql1–pool という名前の JDBC データソースプールを作成します。
% dpconf create-jdbc-data-source-pool mysql1-pool |
JDBC データソースをデータソースプールに接続します。
% dpconf attach-jdbc-data-source mysql1-pool mysql1 |
ベース DN が o=sql で myjdbc1–view という名前のデータソースプールの JDBC データビューを作成します。
% dpconf create-jdbc-data-view mysql1-view mysql1-pool o=sql |
MySQL データベースの各テーブルの JDBC テーブルを作成します。
% dpconf create-jdbc-table employee1 EMPLOYEE % dpconf create-jdbc-table country1 COUNTRY % dpconf create-jdbc-table phone1 PHONE |
SQL データベースのテーブル名は大文字と小文字を区別します。SQL データベースの場合と同じ文字 (大文字または小文字) を使用していることを確認してください。
各テーブルの各列の JDBC 属性を作成します。
JDBC 属性を作成すると、MySQL 列が LDAP 属性にマップされます。
% dpconf add-jdbc-attr employee1 uid ID % dpconf add-jdbc-attr employee1 sn SURNAME % dpconf add-jdbc-attr employee1 userPassword PASSWORD % dpconf add-jdbc-attr employee1 room ROOM % dpconf add-jdbc-attr phone1 tel NUMBER % dpconf add-jdbc-attr country1 country NAME |
phone1 user_id 列と country1 id 列は MySQL データベースのコンテキストでのみ使用されるため、これらの列の JDBC 属性を必ずしも作成する必要はありません。これらには、対応する LDAP 属性がありません。
LDAP person オブジェクトクラスに対して JDBC オブジェクトクラスを作成します。
ここでは、employee1 テーブルを一次テーブル、country1 テーブルと phone1 テーブルを二次テーブルとします。JDBC オブジェクトクラスの作成にも DN が必要です。この例では、DN は uid 属性とデータビューのベース DN から構築されます。
% dpconf create-jdbc-object-class mysql1-view person employee1 country1 phone1 uid |
一次テーブルと二次テーブル間の結合ルールを定義します。
結合ルールは二次テーブルで定義され、そのテーブルからのデータが一次テーブルのデータにリンクされる方法を決定します。
% dpconf set-jdbc-table-prop country1 filter-join-rule:'ID=${EMPLOYEE.COUNTRY_ID}' % dpconf set-jdbc-table-prop phone1 filter-join-rule:'USER_ID=${EMPLOYEE.ID}' |
JDBC オブジェクトクラスのスーパークラスを指定します。
スーパークラスは、JDBC オブジェクトクラスが属性を継承した LDAP オブジェクトクラスを示します。
% dpconf set-jdbc-object-class-prop mysql1-view person super-class:top |