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 스키마 유효성 확인을 수행하십시오.