pureQuery 클라이언트 최적화를 사용하도록
CLI(Call Level Interface) 애플리케이션을 구성할 때 CLI 클라이언트 드라이버는
pureQuery 기능을 사용할 수 있습니다. 예를 들어, 기존 DB2® CLI
애플리케이션을 사용하여 SQL문을 정적으로 실행할 수
있습니다. SQL문을 정적으로 실행하면
런타임에 SQL문을 준비하지 않아도 되며 애플리케이션 보안과 성능이 개선될 수 있습니다.
이 태스크 정보
pureQuery 클라이언트 최적화로 CLI 애플리케이션을 구성하려면
먼저 애플리케이션에서 발행한 SQL문을 캡처하도록 CLI 애플리케이션을
구성합니다. 그런 다음 애플리케이션에서 발행하는
SQL문의 실행을 제어하도록 애플리케이션을 구성합니다.
- 애플리케이션이 DB2 데이터베이스에 연결하는 경우
SQL문을 정적으로 실행하도록 애플리케이션을 구성할 수
있습니다. 구성 프로세스에는
캡처한 SQL문이 포함된 pureQueryXML 파일을 구성하고 캡처한 SQL문을 바인드하는
추가 단계가 포함됩니다.
- Informix® 데이터베이스는
SQL문의 정적 실행을 지원하지 않습니다. 애플리케이션이
Informix 데이터베이스에 연결하는 경우
기타 pureQuery 기능을 사용하여 애플리케이션이 데이터베이스에 대해 실행하는
SQL문을 제어할 수 있습니다. 이 기능은
pureQuery 클라이언트 최적화로 사용되며 Informix
또는 DB2 데이터베이스에 연결하는
CLI 애플리케이션에 사용 가능합니다.
이 태스크는 pureQuery 클라이언트 최적화로 CLI 애플리케이션을 구성하는 방법에 대해 설명합니다.
프로시저
pureQuery 클라이언트 최적화로 CLI 애플리케이션을
구성하려면 다음을 수행하십시오.
- pureQuery 키워드를 CLI 애플리케이션 구성 파일에 설정하여 애플리케이션이
발행하는 SQL문을 캡처하십시오.
db2cli.ini 파일이나 db2dsdriver.cfg 파일에 키워드를
설정합니다. db2cli.ini 파일의 설정이
db2dsdriver.cfg 파일의 설정보다 우선합니다.
- captureMode 키워드의 값을 ON으로
설정하십시오.
- executionMode 키워드의 값을 DYNAMIC으로
설정하십시오.
executionMode 키워드의 기본값은
DYNAMIC입니다. 파일의 키워드는 기본값
리마인더입니다.
- pureQueryXML 키워드의 값을 캡처한 SQL 데이터를 저장하는
pureQueryXML 파일의 경로 및 파일 이름으로 설정하십시오.
pureQueryXML 파일 확장자는 .xml 또는
.pdqxml이어야 합니다. 다음 예
db2dsdriver.cfg 구성 파일은
pureQuery Runtime 키워드를 지정합니다.
<configuration>
<dsncollection>
<dsn alias="alias1" name="name1" host="server1.net1.com" port="50001">
<parameter name="captureMode" value="on"/>
<parameter name="executionMode" value="dynamic"/>
<parameter name="pureQueryXml" value="testclico.pdqxml"/>
</dsn>
</dsncollection>
<databases>
<database name="name1" host="server1.net1.com" port="50001">
<parameter name="CommProtocol" value="TCPIP"/>
</database>
</databases>
</configuration>
- 애플리케이션을 실행하여 pureQueryXML 파일의 SQL문을 캡처하십시오.
처리할 pureQueryXML 파일을 이동하는 경우에는
파일을 검색할 때 pureQueryXML 파일에 쓰기가 진행 중이 아닌지
확인하십시오. 쓰기가 진행 중일 때 파일을 검색하면
파일의 컨텐츠가 유효하지 않거나 애플리케이션이 파일을 업데이트할 수 없어서
입출력 오류가 발생합니다.
- SQL문을 정적으로 실행할 때 필요함: pureQueryXML 파일을 구성한 다음
파일의 SQL문을 사용하여 애플리케이션 데이터베이스에 패키지를 작성하고
데이터베이스로 패키지를 바인드하십시오.
pureQuery Runtime이 설치되어 있으며 Java 기반 pureQuery 유틸리티
Configure 및 StaticBinder를 실행하도록 구성된 컴퓨터에서 pureQueryXML 파일을
처리합니다.
- 필요에 따라 pureQuery 유틸리티를 실행하도록 구성된 컴퓨터에 pureQueryXML
파일을 복사하십시오.
- pureQuery Configure 유틸리티를 실행하여 패키지 이름 및 콜렉션 ID로
pureQueryXML 파일을 구성하십시오.
명령 프롬프트에, Configure 유틸리티를 실행하여 pureQuery StaticBinder
유틸리티에 사용되는 패키지 이름 및 콜렉션 ID와 같은 정보를 pureQueryXML 파일에
추가하십시오. 파일의 SQL문을 관리할 수 있는 기타 옵션을
지정할 수도 있습니다.
- 구성된 pureQueryXML 파일과 함께 pureQuery StaticBinder 유틸리티를
실행하여 목표 DB2 서버에 패키지를 작성하고
패키지를 바인드하십시오.
명령 프롬프트에, StaticBinder 유틸리티를 실행하여 파일을 데이터베이스와
바인드하십시오. 데이터베이스 및 패키지 정보를 지정하는 옵션과 함께
StaticBinder 유틸리티를 실행합니다.
- 필요에 따라 CLI 애플리케이션이 실행되는 컴퓨터의 pureQueryXML 파일을
처리된 파일로 대체하십시오.
- CLI 애플리케이션의 구성을 SQL문의 실행을 제어하도록 업데이트하십시오.
db2cli.ini 구성 파일이나 db2dsdriver.cfg 구성 파일을 찾아서 키워드 및 값을
업데이트하십시오. 다음 목록은 예 구성을 설명합니다.
- SQL문을 정적으로 실행하도록 애플리케이션을 구성하려면
다음 키워드와 값을 업데이트하십시오.
- captureMode 키워드 값을 OFF로 설정하십시오.
- executionMode 키워드 값을 STATIC으로
설정하십시오.
- pureQueryXML 키워드의 값을
캡처한 SQL문이 포함된 pureQueryXML의 경로 및 파일 이름으로
설정하십시오.
키워드 설정을 통해
CLI 애플리케이션은 SQL문을 정적으로 실행합니다. 다음 예 db2dsdriver.cfg 구성 파일은
pureQuery Runtime 키워드를 지정합니다.
<configuration>
<dsncollection>
<dsn alias="alias1" name="name1" host="server1.net1.com" port="50001">
<parameter name="captureMode" value="off"/>
<parameter name="executionMode" value="static"/>
<parameter name="pureQueryXml" value="testclico.pdqxml"/>
</dsn>
</dsncollection>
<databases>
<database name="name1" host="server1.net1.com" port="50001">
<parameter name="CommProtocol" value="TCPIP"/>
</database>
</databases>
</configuration>
- 애플리케이션 SQL문을 동적으로 실행하도록 애플리케이션을 구성하고
pureQueryXML 파일의 명령문만 실행하도록 애플리케이션을 제한하려면
다음 키워드와 값을 업데이트하십시오.
- captureMode 키워드의 값을 OFF로 설정하십시오.
- capturedOnly 키워드의 값을 TRUE로 설정하십시오.
- executionMode 키워드의 값을 DYNAMIC으로 설정하십시오.
- pureQueryXml 키워드의 값을
캡처된 SQL문을 포함하는 pureQueryXML의 경로 및 파일 이름으로
설정하십시오.
키워드 설정을 통해 CLI 애플리케이션은 SQL문을 동적으로
실행합니다. pureQueryXML 파일의 SQL문만
실행됩니다. 애플리케이션이 pureQueryXML 파일에 없는 SQL문을 발행하면
오류가 리턴됩니다. 다음 예
db2dsdriver.cfg 구성 파일은
pureQuery Runtime 키워드를 지정합니다.
<configuration>
<dsncollection>
<dsn alias="alias1" name="name1" host="server1.net1.com" port="50001">
<parameter name="captureMode" value="off"/>
<parameter name="capturedOnly" value="TRUE" />
<parameter name="executionMode" value="dynamic"/>
<parameter name="pureQueryXml" value="testclico.pdqxml"/>
</dsn>
</dsncollection>
<databases>
<database name="name1" host="server1.net1.com" port="50001">
<parameter name="CommProtocol" value="TCPIP"/>
</database>
</databases>
</configuration>
- 애플리케이션을 실행하거나 다시 시작해서 구성 파일 및 pureQueryXML
파일의 업데이트된 정보를 사용하십시오.
결과
pureQuery 클라이언트 최적화에 사용 가능한
CLI 애플리케이션은 지정된 구성에 기초하여 SQL문을 실행합니다.
pureQuery
Runtime 키워드가 구성 파일에 지정되면 pureQuery Runtime이
유효한 pureQuery 라이센스를 검사합니다. 유효한 pureQuery
라이센스를 찾을 수 없는 경우 pureQuery Runtime이 종료되고
오류 코드 SQL8029N이 리턴됩니다.
다음에 수행할 작업
데이터베이스에 작성된 저장소에 pureQueryXML 파일 데이터를
저장할 수 있습니다. CLI 애플리케이션을 검색하고 pureQueryXML 파일 데이터를 사용하기 위해
데이터를 포함하는 활성 런타임 그룹 및 저장소를 가리키도록
pureQuery 키워드 pureQueryXmlRepository 및 propertiesGroupId를 지정할 수 있습니다.
저장소에 대한 정보는 다른 위치에 있는 pureQuery 데이터에 대한 액세스 및 저장의 내용을 참조하십시오.