(1) >>-+-pureQueryXML-file-----------------------+--=---------------> '-pureQueryXML-file--:--base-package-name-' >--+---------------------------------------------------------------------------------------------------------------------+--> | (2) (3) | '------------- -url--jdbc--:--db2--:--//--server--+---------+--/--database-- -username--user-ID-- -password--password-' '-:--port-' >--+-----------------------------------------+------------------> '-+- -bindOptions-- -"--bind-options--"-+-' | (4) | '-| DBRM options |--------------------' >--+----------------------------------------------+-------------> | .----------------------. | | V | | '- -configureWarning---- -configure-warnings-+-' >--+-----------------------------+--+----------------+----------> | .-FALSE-. | | (5) | '- -differenceOnly--+-TRUE--+-' '-| -grant |-----' >--+--------------------------+--+--------------------------+---> '- -isolationLevel--+-CS-+-' | .-FALSE-. | +-RR-+ '- -showDetails--+-TRUE--+-' +-RS-+ '-UR-' >--+--------------------------+-------------------------------->< | .-FALSE-. | '- -validateXml--+-TRUE--+-'
각 옵션 값은 공백을 포함할 수 없습니다.
해당 옵션의 목록 및 설명은 BIND command를 참조하십시오.
Configure 유틸리티 -optionsFileForBind 옵션을 지정하면 Configure 유틸리티가 StaticBinder 옵션 파일을 생성합니다. 이 옵션 파일에는 바인드 옵션, SQL문에 기반한 추가 정보, 명령문 세트 및 pureQueryXML 파일의 DB2 특수 레지스터 정보가 들어 있습니다. Configure 유틸리티는 문제점을 감지한 경우 -configureWarning 옵션을 바인드 옵션에 추가합니다. 지정된 바인드 옵션을 사용하여 패키지를 데이터베이스에 바인드하고 SQL문을 정적으로 실행하면 동작이 올바르지 않을 수 있습니다.
또한 Configure 유틸리티는 명령문 세트의 주석행에 경고 토큰을 추가합니다. 주석은 명령문 세트 및 세트 내 SQL문과 관련된 경고 및 정보를 포함합니다. 경고를 수정하는 방법에 대한 정보는 Configure 유틸리티가 작성한 바인드 옵션 파일에서 경고와 함께 생성된 토큰에 대한 정보를 참조하십시오.StaticBinder 유틸리티를 실행할 때 -configureWarning 옵션을 지정하면 유틸리티가 연관된 패키지를 바인드하려고 합니다. 또한 StaticBinder 유틸리티는 경고가 지정하는 문제점에 대한 경고 메시지도 인쇄합니다.
-configureWarning 옵션은 다음 값을 사용할 수 있습니다.
또한 Configure 유틸리티는 명령문 세트의 주석행에 incrementalSpecialRegValuesPresent 토큰을 추가합니다.
또한 Configure 유틸리티는 명령문 세트의 주석행에 missingSpecialRegValueId(IDs) 토큰을 추가합니다.
또한 Configure 유틸리티는 명령문 세트의 주석행에 SQLGroupedBySpecialRegisters(MULTI_SRINFO) 토큰을 추가합니다.
또한 Configure 유틸리티는 명령문 세트의 주석행에 SQLGroupedBySpecialRegisters(INCONSISTENT_SRINFO) 토큰을 추가합니다.
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-----------><
생성된 DBRM 파일의 루트 이름은 Configure 유틸리티를 실행할 때 지정한 루트 패키지 이름입니다.
기본값은 FALSE입니다.
예를 들어, capture.pdqxml이라고 하는 pureQueryXML 파일에 대해 StaticBinder 유틸리티를 실행했다고 가정하겠습니다. 유틸리티는 패키지 MYPKGA, MYPKGB 및 MYPKGC를 작성합니다. 그러면 사용자는 워크벤치에서 capture.pdqxml의 명령문 세트 MYPKGA를 편집하고 -cleanConfigure 옵션을 기본값 FALSE로 하여 이 파일에 대해 Configure 유틸리티를 실행합니다. Configure 유틸리티는 새 일관성 토큰을 명령문 세트에 지정합니다. 이 세트가 변경되었기 때문입니다. MYPKGA의 새 버전을 바인드하기 위해 다시 capture.pdqxml에서 StaticBinder 유틸리티를 실행하는 경우 -differenceOnly TRUE를 지정합니다. 유틸리티는 MYPKGA만 리바인드하고 다른 두 패키지는 리바인드하지 않습니다.
.-,--------------------. V | >>- -grant-- "--grantees--(----+-authorization-ID-+-+--) - "--->< '-PUBLIC-----------'
Linux, UNIX 및 Windows용 DB2 데이터베이스: USER, GROUP 및 ROLE 키워드를 사용할 수 있습니다. 이들 키워드에 관한 정보는 GRANT(패키지 특권) 명령문을 참조하십시오.
z/OS용 DB2: ROLE 키워드를 사용할 수 있습니다. 이 키워드에 관한 정보는 GRANT(패키지 특권)를 참조하십시오.
제한사항: -generateDBRM 옵션 값이 TRUE이면 -grant 옵션을 사용할 수 없습니다.
분리 레벨은 패키지에 있는 모든 SQL문에 적용됩니다. 분리 레벨을 JDBC 및 SQLJ용 IBM® 데이터 서버 드라이버의 Connection.setTransactionIsolation() 메소드를 통해 설정하면, pureQuery는 정적으로 실행된 명령문의 해당 분리 레벨을 무시합니다.
파일 확장자는 .pdqxml 또는 .xml이어야 합니다. 파일은 애플리케이션의 클래스 경로에 있는 자원이거나 파일의 전체 또는 상대 경로를 제공해야 합니다.
-url jdbc:db2://localhost:50000/SAMPLE:enableNamedParameterMarkers=1;
XML 스키마 유효성 확인의 성공 또는 실패가 판별되며 각 입력 파일에 대해 보고됩니다. 하나의 입력 파일이 실패하는 경우, StaticBinder 처리는 중지되지 않으며 연속되는 파일이 처리됩니다.
pureQueryXML 파일이 스키마 유효성 확인을 실패하는 경우 해당 파일 내의 패키지는 바운드되지 않습니다. 첫 번째 스키마 유효성 확인 오류 및 해당 파일의 바인드 실패가 보고됩니다.
현재 릴리스 또는 이전 버전 pureQueryXML 파일만 유효성 확인됩니다(버전 4 또는 3). 이전 버전 pureQueryXML이 발견되는 경우, 유효성 확인은 해당 파일에서 수행되지 않습니다.