< 이전 | 다음 >

레슨 2: 워크벤치 환경 외부에서 pureQuery 환경 구성

pureQuery 클라이언트 최적화를 사용하는 Java 애플리케이션을 실행할 수 있도록 컴퓨터에 환경을 구성합니다.
시작하기 전에
다음과 같은 소프트웨어가 시스템에 설치되어 있는지 확인하십시오.
  • Java developer kit 버전 1.5 이상
  • JDBC 및 SQLJ용 IBM® Data Server Driver 버전 3.57
  • pureQuery Runtime 버전 2.2.1

이전 레슨에서 Java 애플리케이션을 컴퓨터의 C:\pureQuery-test 디렉토리로 익스포트하고 SAMPLE DB2® 데이터베이스에 대해 애플리케이션을 실행했습니다.

이 레슨에서는 Java 환경을 구성하여 pureQuery 클라이언트 최적화와 함께 애플리케이션을 사용할 수 있게 합니다. 애플리케이션에서 SQL문을 캡처하고 pureQuery 런타임 및 대상 데이터베이스를 구성하여 애플리케이션에서 발행된 SQL문을 정적으로 실행합니다.

  1. 이전 레슨의 명령 창을 닫은 경우에는 새 명령 창을 열고 창에 대한 CLASSPATH 환경 변수를 설정하십시오.
    1. 명령 프롬프트 창을 열고 c:\pureQuery-test에 디렉토리를 설정하십시오.

      창에 cd c:\pureQuery-test 명령을 입력하십시오.

    2. SET 명령을 사용하여 파일을 CLASSPATH에 추가하십시오.
      예를 들어 DB2 데이터베이스 드라이버 JAR 파일이 C:\DB2\drivers 디렉토리에 설치되어 있으면, 명령 프롬프트 창에 다음 명령을 사용하여 CLASSPATH에 파일을 추가하십시오. 다음 SET 명령을 단일 행에 입력하십시오.
      set CLASSPATH=C:\DB2\drivers\db2jcc_license_cu.jar;C:\DB2\drivers\db2jcc.jar;
          C:\pureQuery-test\MyTestApp.jar;%CLASSPATH%;
  2. SET 명령을 사용하여 pureQuery Runtime JAR 파일의 위치를 CLASSPATH에 추가하십시오.
    예를 들어 pureQuery JAR 파일이 C:\pureQuery 디렉토리에 설치되어 있으면 다음 명령을 실행하여 CLASSPATH에 파일을 추가하십시오.
    set CLASSPATH=C:\pureQuery\pdq.jar;C:\pureQuery\pdqmgmt.jar;.;%CLASSPATH%;
    애플리케이션 CLASSPATH에 pureQuery Runtime JAR 파일이 있으면 애플리케이션은 pureQuery 클라이언트 최적화가 포함된 pureQuery Runtime을 사용할 수 있습니다.
  3. pureQuery 클라이언트 최적화와 함께 사용하는 애플리케이션을 실행할 때 사용될 pureQuery Runtime 특성 파일을 작성하십시오.
    1. 테스트 디렉토리에 mytest.properties 특성 파일을 작성하십시오.
    2. pureQuery 특성을 파일에 추가하십시오.

      텍스트 편집기에서 다음과 같은 pureQuery Runtime 특성을 mytest.properties 파일에 추가하십시오.

      pdq.captureMode=ON
      pdq.executionMode=DYNAMIC
      pdq.pureQueryXml=./mytestsql.pdqxml
    3. 파일을 저장하십시오.

    pureQuery Runtime 특성은 pureQuery Runtime이 SQL문을 동적으로 실행하고 mytestsql.pdqxml pureQueryXML 파일의 SQL문을 캡처하도록 지정합니다.

  4. SQL문을 캡처하려면 pureQuery 클라이언트 최적화를 사용하는 애플리케이션을 두 번 실행하십시오.

    pureQuery Runtime 특성을 여러 가지 방법으로 지정할 수 있습니다. 각각의 다음 태스크는 특성 세트가 포함된 애플리케이션을 실행하여 mytest.pdqxml pureQueryXML 파일의 SQL문을 캡처합니다.

    다음 태스크 중 하나를 수행하십시오.

    • 애플리케이션을 실행하고 pdqProperties 옵션을 사용하여 finalRepositoryProperties pureQuery Runtime 특성을 지정하십시오. 다음과 같은 두 개의 Java 명령을 명령 프롬프트 창의 별도의 단일 행에 각각 입력하십시오.
      java -Ddb2.jcc.pdqProperties=finalRepositoryProperties(file://C:/pureQuery-test/mytest.properties)
         myTestApp.MySample
      
      java -Ddb2.jcc.pdqProperties=finalRepositoryProperties(file://C:/pureQuery-test/mytest.properties)
         myTestApp.MySample 1

      pureQuery Runtime 특성 finalRepositoryProperties는 pureQuery Runtime이 mytest.properties 파일에서 pureQuery 특성을 검색하도록 지정합니다.

    • 애플리케이션을 실행하고 pdqProperties 옵션을 사용하여 세 개의 pureQuery Runtime 특성을 지정하십시오. 다음과 같은 두 개의 Java 명령을 명령 프롬프트 창의 별도의 단일 행에 각각 입력하십시오. pureQuery Runtime 특성 사이에 스페이스를 두지 마십시오.
      java -Ddb2.jcc.pdqProperties=captureMode(ON),pureQueryXml(./mytestsql.pdqxml),
         capturedOnly(FALSE),executionMode(DYNAMIC) myTestApp.MySample
      
      java -Ddb2.jcc.pdqProperties=captureMode(ON),pureQueryXml(./mytestsql.pdqxml),
         capturedOnly(FALSE),executionMode(DYNAMIC) myTestApp.MySample 1
    • pdq.properties 기본 특성 파일에서 구성된 애플리케이션을 실행하십시오.
      C:\pureQuery-test\pdq.properties라는 mytest.properties pureQuery 특성 파일을 복사하십시오. 다음과 같은 두 개의 Java 명령을 명령 프롬프트 창에 입력하십시오.
      java myTestApp.MySample
      
      java myTestApp.MySample 1

      pureQuery Runtime은 특정 순서에 따라 특정 위치 세트에서 특성 값을 검색합니다. 검색 위치에는 pdq.properties 파일의 애플리케이션 CLASSPATH 디렉토리가 포함됩니다.

      pureQuery Runtime이 특성 값을 찾지 못하면 해당 특성의 기본값을 사용합니다. executionModecaptureMode 특성의 기본값은 명령문을 동적으로 실행하지만 SQL문을 캡처하지 않습니다.

    애플리케이션이 실행되고 pureQuery Runtime은 mytestsql.pdqxml pureQueryXML 파일에서 SQL문을 캡처합니다.

  5. pureQueryXML 파일을 구성하려면 pureQuery Configure 유틸리티를 실행하십시오.
    명령 프롬프트 창에 다음과 같은 명령을 단일 행으로 입력하십시오.
    java com.ibm.pdq.tools.Configure -pureQueryXml mytestsql.pdqxml
       -rootPkgName MYTEST -validateXml TRUE
    Configure 유틸리티가 pureQueryXML 파일을 유효성 확인하고 구성합니다. -rootPkgName 옵션 값은 MYTEST입니다. 이 pureQueryXML 파일에서 작성된 패키지는 워크벤치에서 작성된 패키지와 이름이 다릅니다.
  6. 데이터베이스에서 바인드 조작을 수행하려면 pureQuery StaticBinder 유틸리티를 실행하십시오.
    명령 프롬프트 창에 명령을 단일 행으로 입력하십시오. 옵션 값 -url, -user-password를 SAMPLE 데이터베이스에 연결할 값으로 대체하십시오.
    java com.ibm.pdq.tools.StaticBinder
      -url jdbc:db2://localhost:50000/SAMPLE -user user01 -password myPass
       -pureQueryXml mytestsql.pdqxml
    주: 명령에 -showDetails true 옵션을 추가하면 바인드 프로세스에 대해 보다 자세한 정보가 표시됩니다.
  7. mytest.properties pureQuery Runtime 특성 값을 업데이트하십시오.
    • captureMode 특성 값을 OFF로 변경
    • executionMode 특성 값을 STATIC으로 변경
    • FALSE 값의 allowDynamicSQL 특성 추가
    업데이트된 파일에는 다음과 같은 특성이 포함됩니다.
    pdq.captureMode=OFF
    pdq.executionMode=STATIC
    pdq.allowDynamicSQL=FALSE
    pdq.pureQueryXml=./mytestsql.pdqxml

    변경하면 애플리케이션에서 SQL문을 동적으로 실행하고, mytestsql.pdqxml pureQueryXML 파일에 있는 SQL문을 실행하도록 pureQuery Runtime이 구성됩니다.

  8. pureQuery 클라이언트 최적화를 사용하는 애플리케이션 및 mytest.properties 파일의 구성을 실행하십시오.
    명령 프롬프트 창에 다음과 같은 명령을 단일 행으로 입력하십시오.
    java -Ddb2.jcc.pdqProperties=finalRepositoryProperties(file://C:/pureQuery-test/mytest.properties)
       myTestApp.MySample 2

    2를 사용하면 애플리케이션은 pureQueryXML 파일에 없는 SQL문을 발행합니다. 애플리케이션이 실행되고 SQL문이 pureQueryXML 파일에 없다는 오류가 발생합니다.

  9. pureQuery Runtime과 구성이 동일한 애플리케이션을 실행하고 pureQueryXML 파일에 있는 명령문을 발행하십시오.
    명령 프롬프트 창에 다음과 같은 명령을 단일 행으로 입력하십시오.
    java -Ddb2.jcc.pdqProperties=finalRepositoryProperties(file://C:/pureQuery-test/mytest.properties)
       myTestApp.MySample
    애플리케이션이 실행되고 SQL문이 정적으로 실행됩니다.

레슨 체크포인트

이 레슨에서는 pureQuery 클라이언트 최적화와 함께 Java 애플리케이션을 사용하고 SQL문을 정적으로 실행하도록 애플리케이션 및 SAMPLE 데이터베이스를 구성했습니다.
다음과 같은 태스크를 수행했습니다.
  • pureQuery Runtime JAR 파일로 CLASSPATH를 업데이트했습니다.
  • pureQuery Runtime 특성을 작성하고 pureQuery 특성을 설정했습니다.
  • Java 애플리케이션을 실행하고 애플리케이션이 발행한 SQL문을 캡처했습니다.
  • pureQuery Configure 및 StaticBinder 유틸리티를 실행하여 pureQueryXML 파일을 처리하고 pureQueryXML 파일로 바인드 조작을 수행했습니다.
  • Java 애플리케이션을 실행하고 SQL문을 정적으로 실행했습니다.

이 레슨에서 SQL 쿼리가 포함된 pureQueryXML 파일을 구성했습니다. DDL문이 포함된 pureQueryXML 파일을 구성하면 DDL문(DECLARE GLOBAL TEMPORARY TABLE 제외)은 별도의 파일로 이동됩니다. 예를 들면, pureQueryXML 파일에서 테이블을 작성한 SQL문이 캡처되었습니다. 파일을 구성할 때 테이블을 작성한 명령문은 별도의 파일로 이동됩니다. Configure 유틸리티가 DDL문을 처리하는 방법에 대한 정보는 Configure 유틸리티를 참조하십시오.

pureQuery가 지원되는 워크벤치 Java 프로젝트에서 pureQueryXML 파일 구성 프로세스는 Configure 유틸리티와 동일한 방법으로 DDL문을 처리합니다.

pureQuery Runtime 특성 설정에 대한 정보는 클라이언트 최적화의 특성을 설정할 수 있는 위치의 우선 순위를 참조하십시오.

pureQuery Runtime 특성 finalRepositoryProperties에 대한 정보는 finalRepositoryProperties 특성을 참조하십시오.

< 이전 | 다음 >

피드백