為 SQL 資料庫建立名為 mysql1 的 JDBC 資料來源。
% dpconf create-jdbc-data-source -b sample_sql -B jdbc:mysql://host2: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 |
為資料來源池建立名為 myjdbc1–view 且基底 DN 為 o=sql 的 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 |