이 구문 다이어그램에서는
옵션 파일에 나열하는 모든 pureQueryXML 파일에 대해 설정할 수 있는 기본 옵션을
표시합니다.

(1)
>>-defaultOptions--=-------------------------------------------->
>--+---------------------------------------------------------------------------------------------------------------------+-->
| (2) (3) |
'------------- -url--jdbc--:--db2--:--//--server--+---------+--/--database-- -username--user-ID-- -password--password-'
'-:--port-'
>--+-----------------------------------------+------------------>
'-+- -bindOptions-- -"--bind-options--"-+-'
| (4) |
'-| DBRM options |--------------------'
>--+-----------------------------+--+----------------+---------->
| .-FALSE-. | | (5) |
'- -differenceOnly--+-TRUE--+-' '-| -grant |-----'
>--+--------------------------+--+--------------------------+--->
'- -isolationLevel--+-CS-+-' | .-FALSE-. |
+-RR-+ '- -showDetails--+-TRUE--+-'
+-RS-+
'-UR-'
.-NOT_SET------.
>-- -statementBindError--+-REMOVE-------+----------------------->
'-MARK_INVALID-'
>--+-----------------------+--+--------------------------+-----><
| (6) | | .-FALSE-. |
'-| Trace options |-----' '- -validateXml--+-TRUE--+-'
주:
- 임의의 순서로 옵션을
지정할 수 있습니다.
- -bindOptions 옵션을 사용할 때
URL, 사용자 ID 및 비밀번호를 지정하지 않는 경우
개별 pureQueryXML 파일의 항목 또는 명령행에서
지정해야 합니다.
- DBRM 파일만을 생성하려는 경우 -url, -username- 및 -password
옵션을 사용하지 않아도 됩니다.
- 구문의 경우 해당 옵션의 설명을 참조하십시오.
- 구문의 경우 해당 옵션의 설명을 참조하십시오.
- 구문의 경우 해당 옵션의 설명을 참조하십시오.
옵션에 대한 설명
- -bindOptions "string-of-bind-options"
- 해당 옵션의 기능은 같은 이름으로 지정된 DB2® 프리컴파일 및 바인드 옵션의 기능과
같습니다. 문자열의 형식은 다음 중 하나입니다.
- "option_1 value_1 option_2 value_2"
- "option_1(value_1) option_2(value_2)"
각 옵션 값은 공백을
포함할 수 없습니다.
해당 옵션의 목록 및 설명은 BIND 명령을 참조하십시오.
- CONCURRENTACCESSRESOLUTION 바인드 옵션을 Linux, UNIX
및 Windows용 DB2 버전 9.7에서 사용하는 경우, 해당 옵션이
CS 및 RR 분리 레벨에서 바인드된 패키지에 있는 모든 명령문에 적용됩니다. 이들 두 분리 레벨에만 적용되는 이 옵션으로
애플리케이션은 다른 애플리케이션에서 잠근 행에서 마지막으로 커미트된 값을 찾습니다.
- DBRM options
- 패키지를 작성하지 않고 DBRM 파일을 생성하려면 이 옵션을 사용하십시오.
이 옵션은 z/OS®용 DB2를 사용하는 경우에만 적용됩니다.
StaticBinder 유틸리티가 DBRM 파일을 생성한 후 해당 파일을 데이터 세트에 복사해야 합니다. 기본 DBRM 데이터 세트
이름은 prefix.DBRMLIB.DATA이며 여기서 prefix는
사용자에 대해 TSO 프로파일에 지정된 상위 레벨 규정자입니다. prefix는 일반적으로 TSO에서의 사용자 ID입니다.
DBRM 데이터 세트가 존재하지 않는 경우
이를 작성해야 합니다. DBRM 데이터 세트에는 모든 SQL문을 보관하기 위한
스페이스 및 각 호스트 변수 이름과 일부 헤더 정보를 위한 추가 스페이스가
필요합니다. 헤더 정보에는 대략 각 DBRM에 대해 두 개의 레코드,
각 SQL 레코드용으로 20바이트 및 각 호스트 변수용으로 6바이트가 필요합니다.
DBRM의 정확한 형식은 prefix.SDSNMACS 라이브러리에서 DBRM 맵핑 매크로인 DSNXDBRM을 참조하십시오.
다음 구문 다이어그램은
DBRM 파일 생성 옵션을 설명합니다.

.-FALSE-.
>>- -generateDBRM--+-TRUE--+-- -outputDBRMPath--path-----------><
- -generateDBRM TRUE|FALSE
- 패키지를 작성하는 대신에 DBRM 파일을 생성하는지 여부를 지정합니다.
generateDBRM이 TRUE인 경우 기본적으로
StaticBinder 유틸리티가 4개의
DBRM 파일(분리 레벨 CS, RR, RS, UR 각각에 대해 하나씩)을 생성합니다. 그러나 -isolationLevel 옵션을
지정하는 경우 하나의 DBRM 파일만 생성할 수 있습니다.
생성된 DBRM 파일의 루트 이름은
Configure 유틸리티를 실행할 때 지정한 루트 패키지 이름입니다.
기본값은
FALSE입니다.
- -outputDBRMPath path
- 생성된 DBRM 파일을 저장하기 위한 디렉토리를 지정합니다.
기본값은 StaticBinder 유틸리티를 실행한 디렉토리입니다.
- -differenceOnlyTRUE|FALSE
- pureQueryXML 파일 내에서 StaticBinder 유틸리티를 실행하는
해당 명령문 세트에 대한 콜렉션 이름, 패키지 이름 및 일관성 토큰 값과 일치하는
콜렉션 이름, 패키지 이름 및 일관성 토큰을 가지고 있는 DB2 패키지를
바꾸지 않도록 지정합니다.
예를 들어, capture.pdqxml이라고 하는
pureQueryXML 파일에 대해 StaticBinder 유틸리티를 실행했다고 가정하겠습니다.
유틸리티는 패키지 MYPKGA, MYPKGB 및 MYPKGC를 작성합니다.
그러면 사용자는 워크벤치에서 capture.pdqxml의 명령문 세트 MYPKGA를
편집하고 -cleanConfigure 옵션을 기본값 FALSE로 하여 이 파일에 대해
Configure 유틸리티를 실행합니다. Configure 유틸리티는
새 일관성 토큰을 명령문 세트에 지정합니다. 이 세트가 변경되었기 때문입니다.
MYPKGA의 새 버전을 바인드하기 위해 다시 capture.pdqxml에서
StaticBinder 유틸리티를 실행하는 경우
-differenceOnly TRUE를 지정합니다. 유틸리티는
MYPKGA만 리바인드하고 다른 두 패키지는 리바인드하지 않습니다.
- 기본값은 FALSE입니다.
- -grant "grantees(firstID,secondID,...)"
- StaticBinder 유틸리티가 작성하는 패키지에 EXECUTE 특권을 부여할
사용자에게 쉼표로 구분되는 권한 받은 사용자 목록(괄호로 표시된)을 지정합니다. 이 옵션을 지정하지 않으면
StaticBinder 유틸리티는 이 특권을 권한 부여하지 않습니다.

.-,--------------------.
V |
>>- -grant-- "--grantees--(----+-authorization-ID-+-+--) - "---><
'-PUBLIC-----------'
- grantees
- EXECUTE 특권을 권한 부여할 쉼표로 구분된 권한 부여 ID 목록입니다. 나열한 권한 부여 ID는
사용 중인 DB2 데이터베이스에 대해 유효해야 합니다.
Linux, UNIX 및 Windows용
DB2 데이터베이스: USER, GROUP 및 ROLE 키워드를 사용할 수 있습니다. 이들 키워드에 관한 정보는
GRANT(패키지 특권) 명령문을 참조하십시오.
z/OS용 DB2: ROLE 키워드를 사용할 수 있습니다. 이
키워드에 관한 정보는 GRANT(패키지 특권)를 참조하십시오.
제한사항: -generateDBRM 옵션 값이 TRUE이면
-grant 옵션을 사용할 수 없습니다.
- -isolationLevel CS | RR | RS | UR
- 4개의 분리 레벨 각각에 대해 DB2 패키지나 DBRM 파일을 하나씩 생성하지 않고 특정 분리 레벨에 대한 단일
DB2 패키지 또는 DBRM 파일을 생성하도록
지정합니다.
분리 레벨은 패키지에 있는
모든 SQL문에 적용됩니다. 분리 레벨을 JDBC 및 SQLJ용 IBM® 데이터 서버
드라이버의 Connection.setTransactionIsolation() 메소드를 통해 설정하면, pureQuery는 정적으로 실행된 명령문의 해당 분리 레벨을 무시합니다.
- UR
- 커미트되지 않은 데이터도 읽기(UR)를 분리 레벨로 지정합니다.
- Configure 유틸리티를 실행 시
-forceSingleBindIsolation 옵션을 사용하지 않았다면
StaticBinder 유틸리티가 작성된 패키지 또는 DBRM
파일의 이름에 1을 추가합니다.
- CS
- 커서 안정성(CS)을 분리 레벨로 지정합니다.
- Configure 유틸리티를 실행 시
-forceSingleBindIsolation 옵션을 사용하지 않았다면
StaticBinder 유틸리티가 작성된 패키지 또는 DBRM
파일의 이름에 2를 추가합니다.
- RS
- 읽기 안정성(RS)을 분리 레벨로 지정합니다. 읽기
안정성(RS) 레벨에서는 애플리케이션이 읽고 변경하는 행에 대한
다른 애플리케이션 프로세스와 별도로 패키지의 SQL문이 실행됩니다.
- Configure 유틸리티를 실행 시
-forceSingleBindIsolation 옵션을 사용하지 않았다면
StaticBinder 유틸리티가 작성된 패키지 또는 DBRM
파일의 이름에 3을 추가합니다.
- RR
- 반복 가능한 읽기(RR)를 분리 레벨로 지정합니다.
- Configure 유틸리티를 실행 시
-forceSingleBindIsolation 옵션을 사용하지 않았다면
StaticBinder 유틸리티가 작성된 패키지 또는 DBRM
파일의 이름에 4를 추가합니다.
- -password password
- 데이터 소스에 연결하는 데 사용하는 비밀번호입니다.
- -showDetails TRUE|FALSE
- StaticBinder 유틸리티가 생성하는 DB2
패키지와, 이 유틸리티가 처리하는 pureQueryXML 파일에 있는 SQL문에 대한
자세한 정보를 유틸리티에서 표시할 것인지 여부를 지정합니다.
- 기본값은 false입니다.
- -statementBindError NOT_SET|MARK_INVALID|REMOVE
- 바인드 프로세스가 명령문에 대해 SQL 오류를 리턴하는 경우
StaticBinder 유틸리티가 pureQueryXML 파일에서 SQL문을 처리하는 방식을 지정합니다.
기본 값은 없습니다. 옵션을 설정하지 않을 경우 StaticBinder 유틸리티는
바인드 프로세스 중 발생하는 SQL 오류를 리턴하는 SQL문을 보고합니다.
다음 목록에서 지원되는 값과 SQL문의 처리 방식에 대해 설명합니다.
- NOT_SET
- pureQueryXML 파일의 SQL문이 수정되지 않도록 지정합니다.
이 값이 기본값입니다.
- MARK_INVALID
- 시도한 바인드가 SQL 오류로 이어지는 경우 pureQueryXML 파일을 업데이트하여
SQL문이 유효하지 않음을 표시하도록 지정합니다. 유효하지 않은 것으로
표시된 SQL문과 SQL 오류는 명령문이 포함된 명령문 세트의 바인드 조작이
완료된 후에 표시됩니다.
이전에 유효하지 않은 것으로 표시된 SQL문은
보고서에 표시되지 않습니다.
구성 옵션 -restoreInvalidSQLForce를
사용하여 유효하지 않은 것으로 표시된 SQL문을 복원할 수 있습니다.
-removeInvalidSQL 옵션을 사용하여 명령문을 제거할 수 있습니다.
- REMOVE
- 시도한 바인드가 SQL 오류로 이어지는 경우 pureQueryXML 파일에서 SQL문이
제거되도록 지정합니다. 제거된 SQL 오류와 SQL문은 명령문이 포함된 명령문 세트의 바인드 조작이
완료된 후에 표시됩니다. 이전에 유효하지 않은 것으로 표시된 SQL문도 제거됩니다.
경고:
MARK_INVALID 또는
REMOVE 값과 함께 이 옵션을 사용하는 경우 pureQueryXML 파일이 변경됩니다.
SQL문을 유효하지 않은 것으로 표시하거나 파일에서 명령문을 제거하기 위해
유틸리티가 파일을 업데이트합니다.
-statementBindError 옵션을
MARK_INVALID 또는 REMOVE 값을 사용하여
지정하는 경우 pureQueryXML 파일은 쓰기 가능해야 합니다.
StaticBinder 유틸리티에서 파일을 업데이트할 수 없는 경우 오류가 표시되고
파일이 처리되지 않습니다.
다음 항목은 StaticBinder 유틸리티의 유효하지 않은 SQL문 감지 능력에
영향을 줍니다.
- StaticBinder -differenceOnly 옵션을 TRUE 값을 사용하여
지정하는 경우. StaticBinder가 모든 SQL문을 바인드하지는 않습니다.
StaticBinder 유틸리티는 명령문 세트에서 유효하지 않은 SQL문을 감지하고 이에 대해서는
바인드를 시도하지 않습니다.
- 바인드 옵션 SQLERROR(CONTINUE) 또는 VALIDATE(RUN)를
StaticBinder 옵션 -bindOptions를 사용하여 지정하는 경우.
BIND 옵션이 지정되면 SQL 오류로 보고될 DB2 진단이
SQL 경고로 보고됩니다. StaticBinder 유틸리티는 진단이 SQL 경고를 보고하는 경우
SQL문을 유효하지 않은 명령문으로 인식하지 않습니다.
pureQuery DAO(Data Access Object) 인터페이스 구현 클래스를 바인드하는 경우
-statementBindError 옵션이 지원되지 않습니다.
구현 클래스를 바인드하기 위해 StaticBinder 유틸리티를 실행하고
MARK_INVALID 또는 REMOVE 값을 사용하여 옵션을 지정하는 경우
유틸리티는 경고를 표시하고 클래스를 바인드하지 않습니다.
주: 유효하지 않은 SQL문은 시도된 바인드 중에 SQL 오류를 리턴하는 명령문입니다.
그러나 해당 오브젝트를 참조하는 SQL문이 유효하지 않게 되지 않도록
데이터베이스 오브젝트가 변경될 수 있습니다.
이 변경은 SQL문을 실행하는 애플리케이션에 영향을 줄 수 있습니다.
예를 들어, 명령문이 참조하는 컬럼의 유형 정의가 VARCHAR(20)에서 VARCHAR(100)로
변경되는 경우 명령문은 유효합니다.
- Trace options
- 메시지를 로그할 파일 및 로그할 정보 레벨을
지정할 수 있습니다.

>>-+------------------------+--+---------------------------+---><
'- -traceFile--file-name-' | .-OFF-----. |
'- -traceLevel--+-ALL-----+-'
+-SEVERE--+
+-WARNING-+
+-INFO----+
+-CONFIG--+
+-FINE----+
+-FINER---+
'-FINEST--'
- -traceFile file-name
- 조작에 대한 정보를 로그하는데 사용하려는 절대 또는 상대 경로 및 파일 이름을
지정합니다.
- 파일이 이미 존재한다면 pureQuery는 새 메시지를 파일의 기존 컨텐츠에 추가합니다. 기본적으로,
엔트리는 System.err에 기록됩니다.
- -traceLevel OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST|ALL
- 로그할 정보 유형을 지정합니다. 기본 레벨은 OFF입니다. 로그 엔트리를 기록할 파일을 지정하지 않고
이 옵션을 OFF가 아닌 다른 값으로 설정하는 경우, 엔트리는 System.err에 기록됩니다.
- -url connection-URL
- 데이터베이스를 연결하기 위한 유형 4 JDBC URL입니다.
이름 지정된
매개변수 마커를 사용하는 SQL문을 바인드할 경우,
데이터 소스에 대한 연결을 지정할 때 값이 1인
enableNamedParameterMarkers
특성을 지정해야 합니다. 다음 예제
-
url 옵션은 testserver.test.com의 SAMPLE 데이터베이스에
연결하고
enableNamedParameterMarkers 특성을 지정합니다.
-url jdbc:db2://localhost:50000/SAMPLE:enableNamedParameterMarkers=1;
- -username user-ID
- 데이터 소스에 연결하는 데 사용하는 사용자 ID입니다.
- -validateXml TRUE|FALSE
- XML 스키마 유효성 확인이 pureQueryXML 스키마를 사용하여
입력 pureQueryXML 파일에서 수행되는지 여부를 지정합니다. 값이 TRUE인 경우
유효성 확인이 수행됩니다. 값이 FALSE이거나 옵션이
지정되지 않으면 유효성 확인이 수행되지 않습니다.
XML 스키마 유효성 확인의 성공 또는 실패가 판별되며
각 입력 파일에 대해 보고됩니다. 하나의 입력 파일이 실패하는 경우, StaticBinder 처리는 중지되지 않으며
연속되는 파일이 처리됩니다.
pureQueryXML 파일이
스키마 유효성 확인을 실패하는 경우 해당 파일 내의 패키지는
바운드되지 않습니다. 첫 번째 스키마 유효성 확인 오류 및 해당 파일의 바인드
실패가 보고됩니다.
현재 릴리스 또는 이전 버전
pureQueryXML 파일만 유효성 확인됩니다(버전 4 또는 3). 이전 버전
pureQueryXML이 발견되는 경우, 유효성 확인은 해당 파일에서
수행되지 않습니다.