pureQuery 클라이언트 최적화를 Informix® 또는 DB2® 데이터베이스에 데이터 서버로 연결하는
CLI 애플리케이션과 함께 사용할 수 있습니다.
DB2 데이터베이스만
SQL문을 정적으로 실행하도록 지원합니다. 하지만
pureQuery 클라이언트 최적화에 사용 가능한 CLI 애플리케이션을
IDS 데이터 서버와 함께 사용하면 다음을 포함한 pureQuery 기능을 사용할
수 있습니다.
- 대체 SQL문 실행
- enableDynamicSQLReplacement 키워드를 사용하여
대체 SQL문을 pureQueryXML 파일에 제공해서 SQL문을 조정할 수
있습니다. 애플리케이션 런타임 중에
이 최적화된 명령문이 Informix
데이터베이스 서버로 전달됩니다.
- 저장소에서 pureQueryXML 데이터 저장 및 검색
- pureQuery 클라이언트 최적화를 사용하는
CLI 애플리케이션을 실행할 때 저장소에 pureQueryXML 파일의 컨텐츠를 저장하고
pureQueryXML 파일 데이터를 지정할 수 있습니다. pureQueryXmlRepository 및
propertiesGroupId 키워드로 pureQueryXML 파일 데이터의 위치를 지정하십시오.
pureQuery ManageRepository 유틸리티로 저장소를 작성 및
관리합니다. 저장소 작성을 위한 데이터베이스 요구사항에 대한 정보는
pureQuery 시스템 요구사항을 참조하십시오.
- SQL문 리터럴 대체
- sqlLiteralSubstitution 키워드를 ENABLE로 설정하면
pureQuery 클라이언트 최적화가 SQL문 리터럴 대체를 지원합니다.
pureQuery Runtime은 SQL문의 리터럴 데이터를 매개변수 표시문자로
대체할 수 있습니다. pureQueryXML 파일에서 SQL문을 캡처할 때
이 기능이 pureQueryXML 파일의 크기를 제어하도록 돕습니다.
SQL문 리터럴 대체는 또한 더 나은 문제점 판별을 제공합니다.
유사한 SQL문이
pureQueryXML 파일의 단일 SQL문으로 그룹화될 수 있습니다
이 기능은 다른 방법으로는 정적으로 실행할 수 없는 SQL문을
매개변수화된 양식으로 정적으로 실행할 수 있도록 지원합니다. 예를 들어, 애플리케이션이 리터럴 값만 다른 SQL 조회를 실행하는 경우
SQL 리터럴 대체는 매개변수화된 버전의 명령문을 정적으로 실행할 수 있도록
지원합니다. SQL 쿼리를 포함하는
패키지를 작성하고 가능한 모든 리터럴 조합과 바인드할
필요는 없습니다.
기타 pureQuery 키워드를 지정하지 않고
sqlLiteralSubstitution 키워드를 Enable로
설정할 수 있습니다. 명령문을 실행하기 전에 pureQuery Runtime이 SQL문의
리터럴 값을 매개변수 표시문자로 대체합니다.
- 캡처한 SQL문만 실행
- pureQuery 클라이언트 최적화에 사용 가능한 CLI 애플리케이션은
IDS 데이터 소스와 함께 captureOnly= TRUE 키워드를
지원합니다. 이 기능은
애플리케이션에서 동적으로 실행하는 SQL문을 pureQueryXML 파일에 나열된
SQL문으로 제한해서 SQL 주입을 차단하도록 돕습니다.
주: staticBinder 유틸리티는
IDS 데이터베이스에 대해 실행할 수 없습니다. 또한 IDS 데이터베이스에
연결된 CLI 애플리케이션에는 executionMode=STATIC
키워드가 지원되지 않습니다.
IDS 데이터 서버를 지원하지 않는 pureQuery Runtime 키워드를 지정하면 무시됩니다.