< 이전 | 다음 >

학습 3: SQL문을 정적으로 실행할 수 있도록 pureQuery Runtime 구성

pureQuery 클라이언트 최적화와 함께 사용되는 애플리케이션에서 SQL문을 캡처한 후 pureQuery Runtime을 구성하면 DB2® 데이터베이스에서 SQL문을 정적으로 실행할 수 있습니다.

시작하기 전에

SAMPLE 데이터베이스와의 연결이 활성화되어 있어야 합니다. 연결이 활성화되어 있지 않으면 바인드 조작을 수행할 때 연결을 위한 프롬프트가 워크벤치에 표시됩니다.

이전 학습에서 작성한 pureQueryXML 파일에는 단일 명령문 세트가 포함되어 있습니다. 이 파일로 바인드 프로세스를 수행하는 경우 대상 데이터베이스에 단일 패키지 세트를 작성합니다. 이 학습에서는 pureQueryXML 파일의 명령문 세트 이름을 업데이트합니다. 그런 다음 pureQueryXML 파일에서 단일 패키지 세트를 작성하고 이 패키지를 바인드합니다.

대상 데이터베이스에서 바인딩 프로세스를 수행한 후 pureQuery Runtime 특성을 설정하면 pureQuery가 애플리케이션에서 발행된 명령문을 정적으로 실행하도록 지정할 수 있습니다.

pureQueryXML 파일이 업데이트되면 워크벤치는 필요한 대로 pureQueryXML 파일을 구성합니다. 구성 프로세스에서는 pureQueryXML 파일의 SQL문을 관리하고 바인딩 프로세스에 필요한 정보를 추가합니다. 워크벤치는 Default.genProps 파일에 정의된 옵션을 사용하여 capture.pdqxml pureQueryXML 파일을 구성합니다.

pureQueryXML 파일 업데이트 및 파일의 바인딩 프로세스 수행

워크벤치를 사용하여 캡처된 SQL문이 포함된 pureQueryXML 파일을 업데이트합니다. 그런 다음 StaticBinder 유틸리티를 실행하여 파일의 SQL문을 바인드합니다.

pureQueryXML 파일을 업데이트하고 파일의 SQL문을 바인드하려면 다음을 수행하십시오.

  1. 패키지 탐색기 보기에서 pq-tutorial Java 프로젝트의 dataAccessFolder\Default.genProps 파일을 두 번 클릭하십시오.
  2. -rootPkgName 옵션 값을 aatest로 변경하십시오.
    C:\test\pq-tutorial\dataAccessFolder\capture.pdqxml= -rootPkgName aatest

    -rootPkgName 옵션은 pureQueryXML 파일에서 이름 지정된 명령문 세트를 작성하는 데 사용되는 기본 문자열을 지정합니다. pureQueryXML 파일의 명령문 세트 이름은 대상 데이터베이스에 작성되는 패키지 이름의 기본 문자열입니다.

  3. 파일을 저장하십시오. 프로젝트 재빌드를 확인하는 메시지를 표시하려면 를 클릭하십시오.
  4. 새 명령문 세트 이름으로 pureQueryXML 파일을 구성하십시오.
    1. pureQueryXML 편집기에서 capture.pdqxml 파일을 여십시오.

      패키지 탐색기에서 dataAccessFolder\capture.pqdxml 파일을 두 번 클릭하면 pureQueryXML 편집기에서 파일이 열립니다.

    2. 파일에서 명령문 세트 이름을 삭제하십시오.

      pureQueryXML 편집기에서 명령문 이름 pq-tut를 강조 표시하고 텍스트를 삭제하십시오. 그런 다음 명령문 이름 pq-tutA를 강조 표시하고 텍스트를 삭제하십시오.

    3. 닫고 파일을 저장하십시오.
    4. 파일을 다시 여십시오.

    파일을 저장하면 워크벤치에 pureQueryXML 파일이 구성됩니다. 구성 프로세스에서 SQL문이 포함된 단일 명령문 세트 aatestAaatestB를 작성했습니다. 명령문 세트 이름은 Default.genProps 파일에 지정된 -rootPkgName 옵션 값인 aatest를 기반으로 합니다.

    그림 1. 명령문 세트 이름 aatestA로 구성된 pureQueryXML 파일
    pureQueryXML 편집기에 구성된 capture.pdqxml 파일입니다.
  5. pureQueryXML 파일의 SQL문을 SAMPLE 데이터베이스로 바인드하십시오.
    1. 패키지 탐색기 보기에서 capture.pdqxml 파일을 마우스 오른쪽 단추로 클릭하고 데이터 액세스 개발 > 바인드를 클릭하십시오. 연결 선택 대화 상자가 열립니다.
    2. SAMPLE 연결을 선택하고 완료를 클릭하십시오.
    워크벤치는 StaticBinder 유틸리티를 실행하여 콘솔 보기에 유틸리티의 결과를 보냅니다. 결과는 다음 예와 유사합니다.
    ================================================================================
    
    StaticBinder 유틸리티가 pureQueryXml 파일
       file 'C:\test\ODS-tutorial\pq-tutorial\dataAccessFolder\capture.pdqxml'.
    
    옵션 처리 시작:
       -url "jdbc:db2://localhost:50000/SAMPLE:retrieveMessagesFromServerOnGetMessage=true;" 
       -username "*****" -password "*****" 
       -pureQueryXml "C:\test\ODS-tutorial\pq-tutorial\dataAccessFolder\capture.pdqxml"
    
    StaticBinder 유틸리티가 분리 수준 'UR'에 대해 패키지 'aatestA1'을 바인드했습니다.
    StaticBinder 유틸리티가 분리 수준 'CS'에 대해 패키지 'aatestA2'를 바인드했습니다.
    StaticBinder 유틸리티가 분리 수준 'RS'에 대해 패키지 'aatestA3'를 바인드했습니다.
    StaticBinder 유틸리티가 분리 수준 'RR'에 대해 패키지 'aatestA4'를 바인드했습니다.
    
    'C:\test\ODS-tutorial\pq-tutorial\pureQueryFolder\capture.pdqxml'에 대해
      'C:\test\ODS-tutorial\pq-tutorial\dataAccessFolder\capture.pdqxml'.
    
    ================================================================================
    
    StaticBinder 유틸리티의 활동 결과:
    
        바인드 조작이 성공한 항목 수: 1
    
    
    프로젝트 pq-tutorial의 연결 SAMPLE을 사용하여 XML 파일 capture.pdqxml에 대한 바인드에 성공했습니다. 

    워크벤치가 pureQuery StaticBinder 유틸리티를 실행하여 단일 패키지 세트를 작성하고 데이터베이스에서 패키지를 바인드했습니다. pureQuery StaticBinder 유틸리티는 구성된 capture.pdqxml 파일의 정보 및 기본 StaticBinder 바인드 옵션에 따라 패키지를 작성했습니다.

    패키지 세트의 이름은 pureQueryXML 파일의 명령문 세트 이름을 기반으로 지정됩니다. StaticBinder는 네 개의 패키지를 작성했습니다. StaticBinder는 기본적으로 네 개의 DB2 분리 수준 UR, CS, RS 및 RR 각각에 패키지를 작성합니다.

  6. SQL 아웃라인 보기의 데이터 소스 탐색기에서 패키지를 찾으십시오.
    1. SQL 아웃라인 보기에서 맨 아래에 있는 데이터베이스 패키지 탭을 클릭하여 데이터베이스 패키지 창을 여십시오.
    2. 첫 번째 패키지 이름을 마우스 오른쪽 단추로 클릭하고 데이터 소스 탐색기에서 찾기를 선택하십시오.

      데이터 소스 탐색기가 열리고 SAMPLE 연결 폴더가 펼쳐지며 패키지가 강조 표시됩니다.

      패키지 이름은 pureQueryXML 파일의 명령문 세트 이름인 aatestA를 기반으로 합니다.

SQL문을 정적으로 실행할 수 있도록 pureQuery Runtime 구성

애플리케이션의 pureQuery Runtime 특성을 업데이트하여 SQL문을 정적으로 실행합니다.

SQL문을 정적으로 실행하도록 pureQuery Runtime을 구성하려면 다음을 수행하십시오.

  1. 패키지 탐색기 보기에서 pdq.properties 파일을 두 번 클릭하십시오.

    PDQ 특성 편집기에 파일이 열립니다.

  2. pureQuery Runtime 특성 파일을 업데이트하십시오.
    • captureMode 특성 값을 OFF로 변경
    • TRUE 값의 capturedOnly 특성 추가
    • executionMode 특성 값을 STATIC으로 변경
    업데이트된 파일에는 다음과 같은 특성이 포함됩니다.
    pdq.captureMode=OFF
    pdq.capturedOnly=TRUE
    pdq.executionMode=STATIC
    pdq.pureQueryXml=dataAccessFolder/capture.pdqxml
  3. 파일을 저장하고 닫으십시오.
  4. 애플리케이션을 실행하십시오.

    MySample.java 파일을 마우스 오른쪽 단추로 클릭하고 실행 도구 > Java 애플리케이션을 클릭하십시오.

    애플리케이션이 실행되고 콘솔 창에 결과가 리턴됩니다.

pureQueryXML 파일과 데이터베이스의 패키지 간 맵핑 테스트

pureQueryXML 파일의 정보를 변경하면, 파일의 SQL문과 SQL문을 정적으로 실행하는 데이터베이스의 패키지 간 맵핑도 변경됩니다. 맵핑이 변경되면 데이터베이스에 새 패키지를 작성하고 이러한 패키지를 바인드해야 합니다.

pureQueryXML 파일과 데이터베이스의 패키지 간 맵핑을 테스트하려면 다음을 수행하십시오.

  1. pureQueryXML 파일에서 명령문 세트 이름을 aatest에서 aatut로 변경하십시오.
    1. 패키지 탐색기에서 capture.pdqxml을 두 번 클릭하십시오.

      pureQueryXML 편집기에 파일이 열립니다.

    2. pureQueryXML 편집기에서 두 명령문 세트 이름을 클릭하고 이름을 aatutAaatutB로 변경하십시오.
    3. 파일을 저장하고 닫으십시오.

      변경 저장을 확인하려면 확인을 클릭하십시오.

  2. 애플리케이션을 실행하십시오.

    애플리케이션이 패키지에 오류가 없음(SQLCODE=-805)을 콘솔 창에 리턴합니다.

    pureQueryXML 파일의 명령문 세트 이름이 변경되었기 때문에 데이터베이스에 패키지가 여전히 있으나 pureQuery Runtime은 이 패키지를 찾을 수 없습니다. pureQuery Runtime은 명령문 세트 이름을 사용하여 패키지 이름을 판별합니다.

  3. 업데이트된 pureQueryXML 파일에서 SQL문을 바인드하십시오.
    1. capture.pdqxml 파일을 마우스 오른쪽 단추로 클릭하고 데이터 액세스 개발 > 바인드를 클릭하십시오.
    2. 연결 선택 대화 상자에서 SAMPLE 데이터베이스를 선택하고 완료를 클릭하십시오.

    바인드 정보가 콘솔 창에 표시됩니다.

    StaticBinder 유틸리티는 pureQueryXML 파일의 업데이트된 명령문 세트 이름을 사용하여 데이터베이스에 새 패키지를 작성합니다. 명령문 이름 aatestA를 기반으로 이전에 작성된 패키지는 삭제되지 않습니다.

  4. 애플리케이션을 실행하십시오.

    패키지 탐색기에서 MySample.java 파일을 마우스 오른쪽 단추로 클릭하고 실행 도구 > Java 애플리케이션을 클릭하십시오.

    애플리케이션이 실행되고 콘솔 창에 결과가 리턴됩니다.

학습 체크포인트

SQL문을 정적으로 실행할 수 있도록 pureQuery 클라이언트 최적화와 함께 사용하는 애플리케이션을 워크벤치에서 구성했습니다.
워크벤치에서 다음과 같은 태스크를 수행했습니다.
  • pureQueryXML 파일을 업데이트했으며 워크벤치가 파일을 구성했음을 확인했습니다.
  • 워크벤치에서 StaticBinder를 실행하여 패키지를 작성하고 데이터베이스에 패키지를 바인드했습니다.
  • pureQueryXML 편집기에서 pureQueryXML 파일을 확인했습니다.
  • pureQuery Runtime 특성을 설정하여 애플리케이션이 발행한 SQL문을 정적으로 실행했습니다.
  • DB2 데이터베이스에서 패키지를 찾았습니다.
  • pureQueryXML 파일을 업데이트했으며 데이터베이스에서 SQL문을 다시 바인드했습니다.
< 이전 | 다음 >

피드백