pureQueryXML 파일 구성 및 바인드에 대한 권장사항

pureQuery 클라이언트 최적화를 사용하여 SQL문을 정적으로 실행하도록 준비할 때 pureQuery Configure 유틸리티 및 StaticBinder 유틸리티와 함께 다음 권장 옵션을 사용하십시오.

Configure 유틸리티의 옵션

다음 목록은 Configure 유틸리티로 pureQueryXML 파일을 처리하는 것의 권장사항에 대한 설명입니다.
  • 전체 캡처가 수행될 때 pureQuery Configure 유틸리티와 함께 -cleanConfigure 옵션을 사용하십시오.
  • 바인드 조작 중 사용할 콜렉션 ID를 알고 있으면 구성 조작 중 -collection 옵션을 사용하여 콜렉션을 설정하십시오.
  • 캡처된 SQL문과 함께 기록된 특수 레지스터 정보를 기반으로 SQL문을 그룹화하려면 -groupSQLBySpecialRegisters 옵션을 사용하십시오. 특수 레지스터 설정에 따라 바인드 옵션을 포함한 StaticBinder 옵션 파일을 생성하려면 -optionsFileForBind 옵션을 사용하십시오.
  • 기록된 SQL SET문 또는 메소드에 대한 경고가 표시되면 애플리케이션이 예상대로 실행되지 않았을 수 있습니다. SET문 또는 메소드는 애플리케이션이 명령문을 동적으로 실행할 때 일부 SQL문의 동작에 영향을 미칩니다. DB2® 데이터베이스에서 정적으로 실행할 경우에는 SET문 또는 메소드가 동일한 SQL문의 동작에 영향을 미치지 않습니다. 예를 들어, 다음 경고는 Configure 유틸리티에 의해 생성됩니다.
    경고: pureQueryXML 파일에 파일에 연관된 Connection을 사용하여
    발행된 기타 SQL문 다음에 기록된 n 특수 레지스터 SET문 또는 메소드가
    있습니다. 이는 여러 다른 특수 레지스터 설정을 사용하여 원래 준비된
    SQL문이 파일에 포함되어 있음을 나타내는 것일 수 있습니다. 

    예를 들어, 특수 레지스터 CURRENT SCHEMA의 값을 변경하려면 SQL SET문을 사용합니다. 애플리케이션은 SQL문을 동적으로 실행할 때 특수 레지스터 CURRENT SCHEMA를 사용하여 데이터베이스 스키마를 제어합니다. 규정되지 않은 테이블 이름이 포함된 SQL문을 실행합니다. 몇 가지 SQL문을 실행하기 전에 애플리케이션이 SET 메소드를 사용하여 특수 레지스터 CURRENT SCHEMA의 값을 WEEK1_SALES로 변경합니다. 다른 명령문의 경우, 명령문 실행 전에 해당 값을 WEEK5_SALES로 설정합니다.

    SQL문을 정적으로 실행할 경우에는 패키지를 데이터베이스에 바인드할 때 바인드 옵션 QUALIFER를 지정하여 데이터베이스 스키마를 제어합니다. 특수 레지스터 CURRENT SCHEMA의 값은 정적으로 실행된 SQL문에 영향을 미치지 않습니다.

    pureQueryXML 파일을 구성할 때 명령문의 정적 실행 시 SQL문이 올바르게 실행되도록 명령문 세트와 바인드 옵션을 작성하는 데 유용한 Configure 유틸리티 옵션을 지정할 수 있습니다.
    • SQL문을 캡처할 때 기록된 특수 레지스터 정보를 기반으로 SQL문을 그룹화하려면 -groupSQLBySpecialRegisters 옵션을 지정하십시오. pureQueryXML 파일을 구성할 때 특수 레지스터 CURRENT_SCHEMA의 값이 WEEK1_SALES로 설정된 채 실행된 SQL문은 해당 값이 WEEK5_SALES로 설정된 채 실행된 SQL문과 다른 명령문 세트에 있습니다.
    • 기록된 특수 레지스터 설정에 따라 명령문 세트에 대한 바인드 옵션을 포함한 StaticBinder 옵션 파일을 생성하려면 -optionsFileForBind 옵션을 지정하십시오. pureQueryXML 파일을 구성할 때 유틸리티는 CURRENT_SCHEMA의 값이 WEEK1_SCHEMA로 설정된 채 실행된 SQL문을 포함한 명령문 세트에 대해 "QUALIFIER(WEEK1_SCHEMA)" 바인드 옵션을 생성합니다. 해당 값이 WEEK5_SCHEMA로 설정된 채 실행된 SQL문을 포함한 명령문 세트에 대해서는 "QUALIFIER(WEEK5_SCHEMA)" 바인드 옵션을 생성합니다.

    Configure 유틸리티는 두 특수 레지스터 값으로 실행된 SQL문을 별도의 명령문 세트에 그룹화합니다. isBindable 속성을 false로 설정하면 해당 명령문을 포함한 명령문 세트는 정적으로 실행되지 않도록 지정할 수 있습니다.

pureQueryXML 파일에서 패키지 바인드

패키지를 특정 분리 수준에서만 바인드해야 하는 경우에는 StaticBinder -isolationLevel 옵션을 사용하여 분리 수준을 지정하십시오.

기본적으로, StaticBinder 유틸리티는 4가지 분리 수준 UR, CS, RS 및 RR에 대해 패키지를 작성합니다. 애플리케이션이 둘 이상의 수준을 사용할 경우 -isolationLevel 옵션을 사용하고 필수 분리 수준만 지정하십시오. 애플리케이션이 한 개의 분리 수준만 사용할 경우에는 구성하는 동안 Configure 유틸리티 옵션 -forceSingleBindIsolation을 지정할 수 있습니다. 그런 다음 StaticBinder 유틸리티를 실행할 때 적합한 분리 수준을 지정합니다. -forceSingleBindIsolation 옵션을 지정하면 분리 수준 번호가 작성된 패키지의 이름에 추가되지 않습니다.

pureQueryXML 파일 유효성 확인

pureQueryXML 파일에 대한 문제가 발생하면 -validateXml TRUE 옵션을 pureQuery 유틸리티 Merge, Configure 및 StaticBinder와 함께 지정해서 pureQueryXml 파일의 유효성을 확인할 수 있습니다. 유틸리티가 실행되면 XML 유효성 확인 오류가 표시됩니다. 유틸리티는 pureQueryXml 스키마의 입력 XML 문서의 유효성을 확인합니다.

권장사항: IBM®은 워크벤치만을 사용하여 pureQueryXML 파일을 편집할 것을 강력하게 권장합니다. 워크벤치 외의 편집기에서 pureQueryXML 파일을 편집한 경우 파일을 사용하지 못할 수 있습니다.

pureQueryXML 파일을 수동으로 편집하는 경우 먼저 파일의 백업 사본을 작성해야 합니다. -validateXml 옵션을 pureQuery Merge, Configure 및 StaticBinder 유틸리티와 함께 사용하여 입력 pureQueryXml 파일에 대한 XML 스키마 유효성 확인을 수행하십시오.


피드백