클라이언트 최적화에 대한 pureQueryXML 파일 편집 또는 병합

pureQuery가 아닌 API 애플리케이션에서 캡처한 SQL문을 포함하는 pureQueryXML 파일을 편집할 수 있습니다. 또한 이 파일 중에서 두 개 이상을 함께 병합할 수도 있습니다.

편집을 위해 pureQueryXML 파일을 열 때, 편집기는 pureQuery Configure 유틸리티에 대해 작동하여 사용자가 작성하는 변경사항의 유효성을 확인합니다. Configure 유틸리티는 사용자가 파일을 저장한 경우에만 사용자 편집사항의 유효성을 확인할 수 있습니다.

pureQueryXML 편집기의 체크 박스

AllowStaticRowsetCursors
z/OS®용 DB2® Universal Database 버전 8(새 기능 모드)이나 z/OS용 DB2 버전 9.1 데이터 소스 및 IBM® Data Server Driver for JDBC and SQLJ를 사용하여 해당 데이터 소스에 연결하는 경우, 명령문이 정적으로 실행될 때 SELECT문과 연관된 커서가 행 세트 커서인지 여부를 지정합니다.

pureQuery가 해당 명령문을 정적으로 실행할 때 행 세트 커서를 사용하도록 허용하려는 SQL문은 다음 조건을 충족해야 합니다.

  • 캡처된 명령문은 SELECT문입니다.
  • SELECT문이 스토어드 프로시저에서 실행되지 않습니다.
  • 쿼리 결과의 컬럼은 LOB 또는 XML 데이터 유형이 아닙니다.
  • 명령문이 여는 커서는 읽기 전용입니다. 정적 업데이트 가능한 커서가 행 세트를 사용하면 결과는 예상할 수 없습니다.

    이들 조건 중 하나가 참인 경우 pureQuery는 명령문을 업데이트할 수 있는 것으로 간주합니다.

    • 동시 속성은 java.sql.ResultSet.CONCUR_UPDATABLE로 설정됩니다.
    • SQL문에 FOR UPDATE 절이 포함됩니다.
    명령문을 업데이트할 수 없다면 pureQuery는 명령문을 읽기 전용으로 간주합니다.

이 조건을 충족하는 SELECT문이 하나의 행만 리턴하는 경우, 명령문에 이 옵션을 사용하지 않을 것을 고려하십시오. 하나의 행만 리턴하는 SELECT문에 행 세트 커서를 사용하면 비용 효과가 낮을 수 있습니다.

Configure 유틸리티의 -allowStaticRowsetCursors 옵션을 사용하는 방법에 대한 정보는 pureQuery가 아닌 API 애플리케이션에서 정적 SQL문 실행을 구성하기 위한 Default.genProps 파일의 엔트리 구문을 참조하십시오.

조건을 충족하는 SELECT문에 대해 AllowStaticRowsetCursors 체크 박스를 선택하고 Configure 유틸리티의 -allowStaticRowsetCursors 옵션을 사용하려는 경우, 명령문의 체크 박스를 선택하기 전에 다음 단계를 수행하십시오.

  1. 프로젝트의 Default.genProps 파일에서 pureQueryXML 파일에 대한 -allowStaticRowsetCursors 옵션을 지정하십시오.
  2. Default.genProps 파일을 저장하여 pureQueryXML 파일에 대해 Configure 유틸리티를 실행하십시오.
  3. Default.genProps 파일에서, pureQueryXML 파일에 대한 -allowStaticRowsetCursors 옵션을 제거하십시오.
  4. Default.genProps 파일을 저장하여 pureQueryXML 파일에 대해 Configure 유틸리티를 실행하십시오.
바인드
파일에 대해 StaticBinder 유틸리티를 실행할 때 이 유틸리티가 해당 명령문을 바인드하도록 하려면 pureQueryXML 편집기에서 SQL문 옆에 있는 바인드 체크 박스를 선택하십시오.
주의: pureQuery는 BEGIN ATOMIC으로 시작하지 않는 복합 명령문을 정적으로 실행하는 것을 지원하지 않습니다.
구성
Configure 유틸리티가 변경사항의 유효성을 확인해야 하는 방식으로 명령문 세트를 변경하는 경우, 편집기는 해당 명령문 세트에 대해 구성 컬럼의 값을 REQUIRED로 변경합니다. (이 값은 파일에서 <statementSet> 태그의 configureStatus 속성에 있는 REQUIRED 값에 해당됩니다.) 파일을 저장하면 Configure 유틸리티는 변경사항의 유효성을 확인합니다.
Configure 유틸리티가 이 프로세스를 완료하면, 구성 컬럼의 값은 공백이 됩니다. 이는 Configure 유틸리티가 유효성을 확인해야 하는 변경사항이 없음을 의미합니다. (공백 값은 파일에서 <statementSet> 태그의 configureStatus 속성에 있는 AUTO 값에 해당됩니다.) 그러나 Configure 유틸리티는 사용자가 다른 명령문 세트에 대해 작성하는 변경사항의 유효성을 확인할 때 필요에 따라 명령문 세트를 수정할 수 있습니다.

명령문 세트에 대해 구성 컬럼의 값이 공백이고 사용자가 해당 세트에 대한 변경사항 작성을 완료한 경우, 사용자가 값을 FINAL로 변경할 수 있습니다. (이 값은 파일에서 <statementSet> 태그의 configureStatus 속성에 있는 FINAL 값에 해당됩니다.) Configure 유틸리티는 어떤 방식으로도 더 이상 세트를 수정하지 않습니다. 값이 FINAL이면 세트를 편집할 수 없습니다. 다시 편집하려면 값을 FINAL에서 공백으로 변경해야 합니다.

SQL문이 선택될 때 표시되는 정보

SQL문이 선택되면 SQL문에 대한 정보가 표시되고 SQL문이 SQL Editor에 복사됩니다.

특수 레지스터 정보
SQL문이 pureQuery 클라이언트 최적화에 의해 캡처되었을 때 SQL문과 연관된 특수 레지스터 값을 표시합니다.
기본 스키마, 기본 경로
SQL문이 pureQuery 클라이언트 최적화에 의해 캡처되었을 때 SQL문과 연관된 기본 스키마 및 기본 경로 값을 표시합니다.

피드백