Sun Java System Directory Server Enterprise Edition 6.2 관리 설명서

ProcedureJDBC 데이터 보기를 구성하는 방법

  1. 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
  2. SQL 데이터베이스에 대한 사용자 이름과 비밀번호 파일을 지정합니다.


    % dpconf set-jdbc-data-source-prop mysql1 db-pwd-file:sqlpwd.txt db-user:root
  3. 프록시 서버를 다시 시작합니다.


    % dpadm restart /local/dps
  4. 데이터 소스를 활성화하고 데이터 소스에 대한 쓰기 작업을 허용합니다.


    % dpconf set-jdbc-data-source-prop mysql1 is-enabled:true is-read-only:false
  5. mysql1–pool이라는 JDBC 데이터 소스 풀을 만듭니다.


    % dpconf create-jdbc-data-source-pool mysql1-pool
  6. JDBC 데이터 소스를 데이터 소스 풀에 첨부합니다.


    % dpconf attach-jdbc-data-source mysql1-pool mysql1
  7. o=sql의 기본 DN을 사용하여 데이터 소스 풀에 대한 myjdbc1–view라는 JDBC 데이터 보기를 만듭니다.


    % dpconf create-jdbc-data-view mysql1-view mysql1-pool o=sql
  8. MySQL 데이터베이스의 각 테이블에 대한 JDBC 테이블을 만듭니다.


    % dpconf create-jdbc-table employee1 EMPLOYEE
    % dpconf create-jdbc-table country1 COUNTRY
    % dpconf create-jdbc-table phone1 PHONE

    SQL 데이터베이스의 테이블 이름은 대소문자를 구분합니다. SQL 데이터베이스에 사용된 것과 동일한 대소문자를 사용해야 합니다.

  9. 각 테이블의 열마다 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_idcountry1 id 열은 MySQL 데이터베이스의 컨텍스트에서만 사용되므로 이러한 열에 대한 JDBC 속성을 만들 필요가 없습니다. 이러한 열에는 해당 LDAP 속성이 없습니다.

  10. LDAP person 객체 클래스에 대한 JDBC 객체 클래스를 만듭니다.

    이 단계에서 employee1 테이블은 기본 테이블로 식별되고 country1phone1 테이블은 보조 테이블로 식별됩니다. 또한 JDBC 객체 클래스를 만들려면 DN이 필요합니다. 이 예에서 DN은 데이터 보기의 기본 DN 및 uid 속성에서 구성됩니다.


    % dpconf create-jdbc-object-class mysql1-view person employee1 country1 phone1 uid
  11. 기본 테이블과 보조 테이블 간의 결합 규칙을 정의합니다.

    결합 규칙은 보조 테이블에 정의되며 해당 테이블의 데이터가 기본 테이블의 테이터에 연결되는 방법을 결정합니다.


    % 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}'
  12. JDBC 객체 클래스에 대한 수퍼 클래스를 지정합니다.

    수퍼 클래스는 JDBC 객체 클래스가 속성을 상속하는 LDAP 객체 클래스를 나타냅니다.


    % dpconf set-jdbc-object-class-prop mysql1-view person super-class:top