-groupSQLBySpecialRegisters 옵션을 지정할 때, Configure 유틸리티는 pureQueryXML 파일에 있는 SQL문을 해당 SQL문이 캡처될 때 기록된 특수 레지스터 정보를 기준으로 하여 명령문 세트에 그룹화합니다. 기록된 특수 레지스터 설정은 SQL문의 작동에 영향을 줄 수 있습니다.
-optionsFileForBind 옵션을 지정할 때, Configure 유틸리티는 StaticBinder 옵션 파일을 생성하고, SQL이 캡처될 때 기록된 특수 레지스터 설정에 따라 명령문 세트에 대한 바인드 옵션 세트를 생성하려고 시도합니다. 명령문 세트에 있는 명령문이 단일 특수 레지스터 값 세트에 따라 그룹화된 경우, Configure 유틸리티는 단일 바인드 옵션 세트를 생성합니다. 명령문 세트가 여러 세트의 특수 레지스터 값에 따라 그룹화된 경우, 유틸리티는 각 특수 레지스터 설정에 대한 바인드 옵션 세트가 포함된 주석을 작성합니다. 유틸리티는 또한 pureQueryXML 파일에 있는 명령문 세트, SQL문 및 특수 레지스터 설정에 대한 정보 및 경고가 포함된 주석을 추가합니다.
바인드 옵션은 SQL문을 정적으로 실행하기 위해 DB2 데이터베이스에 패키지를 바인드할 때 필요할 수 있습니다. 바인드 옵션은 SQL문이 정적으로 실행될 때 동적으로 실행될 때와 유사하게 작동되도록 하기 위해서도 필요할 수 있습니다.
생성된 바인드 옵션을 StaticBinder 유틸리티에서 사용하기 전에 바인드 옵션을 검토하십시오. 필요하면 사용자 환경에 따라 바인드 옵션을 수정하여 SQL문이 정적으로 실행될 때 올바르게 작동하도록 하십시오.
명령문 세트에 대한 바인드 옵션 세트를 지정할 수 없는 경우도 있습니다. StaticBinder 유틸리티가 바인드 조작을 수행하지 않도록 지정할 수 있습니다. pureQueryXML 파일에서 XML 속성 isBindable의 값을 명령문 세트에 대해 FALSE로 설정하고 pureQueryXML 파일을 다시 구성하십시오. isBindable 속성 및 속성 변경에 대한 정보는 pureQueryXML 파일에 있는 XML 속성 isBindable의 내용을 참조하십시오.Configure 유틸리티로 생성한 파일은 pureQuery StaticBinder 유틸리티 옵션 파일 형식을 가집니다. Configure 유틸리티로 생성한 옵션 파일은 주석, defaultOptions 엔트리 및 바인딩 명령문 세트에 대한 엔트리로 이루어집니다.
주석은 경고 및 정보를 포함하며 바인드 옵션 세트를 포함할 수도 있습니다. 주석에 있는 정보에 대한 내용은 Configure 유틸리티로 생성한 주석의 내용을 참조하십시오.
defaultOptions =
Configure 유틸리티는 -groupSQLBySpecialRegisters가 지정되지 않고 명령문 세트가 특수 레지스터 정보를 기준으로 그룹화되지 않은 경우에만 defaultOptions 엔트리에 바인드 옵션을 추가합니다.
Configure 유틸리티는 바인드 옵션을 생성하고 추가 정보가 있는 주석을 추가할 수 있습니다. 연결 URL 또는 분리 수준과 같은 항목에 대해 다른 옵션을 추가할 수 있습니다. defaultOptions 엔트리에 대한 정보는 이 주제의 맨 끝에 있는 "클라이언트 최적화를 위한 StaticBinder 유틸리티의 옵션 파일에 있는 디폴트 옵션의 구문"에 대한 링크를 참조하십시오.
defaultOptions = -bindOptions "QUALIFIER(SCHM4) FUNCPATH(SYSIBM,SYSFUN,SYSPROC,SYSADM) ROUNDING(HALFEVEN) DEC(15)" # WARNING: [specialRegValueId(C:\myDir\capture.pdqxml:4) minimumDivideScale(8) SQLID(ADMF003)]
defaultOptions = -bindOptions "QUALIFIER(SCHM4) FUNCPATH(SYSIBM,SYSFUN,SYSPROC,SYSADM) ROUNDING(HALFEVEN) DEC(15)"
# WARNING: [specialRegValueId(C:\myDir\capture.pdqxml:4) minimumDivideScale(8) SQLID(ADMF003)]
defaultOptions = # WARNING: SQLGroupedBySpecialRegisters(NOT_GROUPED)
다음 형식은 명령문 세트에 대한 바인드 옵션을 지정합니다.
pureQueryXML-file:base-package-name=bind-options
Configure 유틸리티로 생성한 엔트리는 명령문 세트 정보와 바인드 옵션만 포함하고 있습니다. 다른 옵션을 추가할 수 있습니다. 엔트리는 명령문 세트에 대해 추가 정보 및 경고가 있는 주석을 포함할 수 있습니다.
명령문 세트를 바인드하기 위한 엔트리에 대한 정보는 이 주제의 맨 끝에 있는 "클라이언트 최적화를 위한 StaticBinder 유틸리티의 옵션 파일에 있는 엔트리의 구문"에 대한 링크를 참조하십시오.
다음 예제는 명령문 세트를 바인드하기 위한 엔트리입니다. 이 엔트리는 읽기 쉽도록 여러 행으로 표시됩니다.
C:\myDir\capture.pdqxml:MYRPN1K = -bindOptions "QUALIFIER(SCHM9) FUNCPATH(SYSIBM,SYSFUN,SYSPROC,SYSADM) ROUNDING(HALFEVEN) DEC(15)" # WARNING: [specialRegValueId(10) minimumDivideScale(3) UNTRACKED_SET] INFO: configureStatus(FINAL) SQLGroupedByStrings(*NO_MATCH_FOUND*)
C:\myDir\capture.pdqxml:MYRPN1K = -bindOptions "QUALIFIER(SCHM9) FUNCPATH(SYSIBM,SYSFUN,SYSPROC,SYSADM) ROUNDING(HALFEVEN) DEC(15)"
# WARNING: [specialRegValueId(10) minimumDivideScale(3) UNTRACKED_SET] INFO: configureStatus(FINAL) SQLGroupedByStrings(*NO_MATCH_FOUND*)
MYRPN1K = -bindOptions "QUALIFIER(SCHM9) FUNCPATH(SYSIBM,SYSFUN,SYSPROC,SYSADM) ROUNDING(HALFEVEN) DEC(15)" # WARNING: [specialRegValueId(10) minimumDivideScale(3) UNTRACKED_SET] INFO: configureStatus(FINAL)
# WARNING: [specialRegValueId(10) minimumDivideScale(3) UNTRACKED_SET] INFO: configureStatus(FINAL)
INFO: configureStatus(FINAL)
Configure 유틸리티는 -groupSQLBySpecialRegisters가 지정되었거나 명령문 세트가 특수 레지스터 정보를 기준으로 그룹화된 경우 명령문 세트에 대한 바인드 옵션을 생성합니다. Configure 유틸리티는 단일 세트의 특수 레지스터 값이 명령문 세트와 함께 기록된 경우 명령문 세트에 대한 바인드 옵션을 생성합니다. 한 명령문 세트에 대해 두 개 이상의 특수 레지스터 값 세트가 기록된 경우, Configure 유틸리티는 명령문 세트에 있는 SQL문과 함께 기록된 특수 레지스터 값 세트를 기반으로 하는 바인드 옵션이 들어 있는 주석을 작성합니다.
# -bindOptions "QUALIFIER(SCHM13) FUNCPATH(SYSIBM,SYSFUN,SYSPROC,SYSADM) ROUNDING(HALFEVEN) DEC(15)" # WARNING: [specialRegValueId(3) UNTRACKED_SET]
주석에서 바인드 옵션은 pureQueryXML 파일 C:\myDir\capture.pdqxml에서 ID 3을 갖는 특수 레지스터 값 세트를 기반으로 합니다. 특수 레지스터 값 세트 3의 경우, pureQuery Runtime은 pureQuery가 추적하지만 해당 값이 기록되지 않는 특수 레지스터에 대한 변경사항을 발견했습니다.
pureQuery Configure 유틸리티가 작성하는 Staticbinder 옵션 파일에서 유틸리티는 바인드 옵션 다음에 주석을 추가합니다. 이 주석은 정보용 또는 경고 메시지를 표시하는 토큰을 포함합니다. 앞에 WARNING:이 표시되는 토큰은 명령문 세트에 있는 SQL문이 정적으로 실행될 때 올바른 작동을 할 수 있는 이유입니다. 앞에 INFO:가 표시되는 토큰은 정보용입니다.
명령문에 추가되는 주석이 isBindable(FALSE) 토큰을 포함할 때 INFO: 레이블만 사용됩니다. XLM 속성 isBindable의 값이 FALSE일 때 명령문 세트에 대해 토큰이 나열됩니다. 값이 FALSE인 경우, StaticBinder 유틸리티는 바인드 프로세스를 수행할 때 명령문 세트를 무시합니다. 명령문 세트가 바인드되지 않은 경우 경고는 필요하지 않습니다.
XML 속성 isBindable의 값이 명령문 세트에 대해 FALSE일 경우, Configure 유틸리티는 -bindOptions 및 -configureWarning 옵션을 생성하지 않습니다. 그러나 모든 토큰은 해당 명령문에 대한 주석에 표시됩니다.
isBindable 속성에 대한 정보는 pureQueryXML 파일에 있는 XML 속성 isBindable의 내용을 참조하십시오.
다음 토큰은 명령문 세트에 대한 정보를 제공합니다.
Configure 유틸리티 옵션 -setPostStatusOfAllPkgs를 FINAL 값으로 지정할 경우, 모든 명령문 세트에 대해 토큰을 추가하지 않습니다. 입력 pureQueryXML 파일에 있는 명령문 세트에 대해 configureStatus 속성의 값이 FINAL일 때만 토큰이 주석으로 추가됩니다. -setPostStatusOfAllPkgs 옵션은 구성 후 모든 명령문 세트의 configureStatus 속성을 FINAL로 설정합니다.
pureQueryXML 파일을 변경할 때, 변경사항이 configureStatus 속성 값을 FINAL로 설정하는 명령문 세트에 영향을 주지 않는지 확인하십시오.
Configure 유틸리티가 명령문 세트에 대한 경고 토큰을 생성할 경우, 경고를 무시하거나 경고를 수정할 수 있습니다. 데이터베이스에 바인드한 기존 패키지를 보존하려는 경우 경고를 무시하십시오. 경고를 수정하려면 특정 경고 토큰에 대한 정보를 참조하십시오. 경고를 수정하려고 시도하면 일반적으로 명령문 세트를 구성해야 합니다. 명령문 세트를 구성한 후, StaticBinder 유틸리티를 사용하여 명령문 세트와 연관된 패키지를 리바인드한 다음에 명령문 세트에 있는 SQL문을 정적으로 실행할 수 있습니다.
Configure 유틸리티는 또한 명령문 세트에 대한 바인드 옵션에 INCREMENTAL_SPECIAL_REGISTER_VALUES_PRESENT 값을 갖는 -configureWarning 옵션을 추가합니다.
토큰은 특수 레지스터 설정별로 그룹화된 명령문 세트에 대한 주석 또는 defaultOptions 행에 있는 주석에 표시될 수 있습니다.
Configure 유틸리티를 실행할 때 새 옵션 파일을 생성하도록 -optionsFileForBind 옵션을 추가하십시오. 새 옵션 파일에 경고가 들어 있지 않은지 확인하십시오.
SQL문을 정적으로 실행할 때, DB2 데이터베이스의 경우 위치 지정된 갱신 명령문이 연관된 쿼리 명령문과 동일한 패키지에 들어 있어야 합니다. 위치 지정된 갱신 명령문이 연관된 쿼리에서 사용된 설정과 다른 특수 레지스터 설정을 사용하여 실행되어야 하는 경우, 두 SQL문 모두 동적으로 실행되어야 합니다.
명령문 세트에 사용할 바인드 옵션 세트를 작성할 수 없는 경우, StaticBinder 유틸리티가 세트에 있는 SQL문을 바인드하지 않도록 지정할 수 있습니다. isBindable 속성의 값을 FALSE로 설정하십시오.
Configure 유틸리티는 또한 명령문 세트에 대한 바인드 옵션에 SPECIAL_REGISTER_GROUPING_INCONSISTENT 값을 갖는 -configureWarning 옵션을 추가합니다.
바인드 옵션 세트를 지정할 수 없는 경우, StaticBinder 유틸리티가 바인드 조작을 수행하지 않도록 지정할 수 있습니다. 명령문 세트에 대해 isBindable 속성의 값을 FALSE로 설정하십시오.
Configure 유틸리티는 또한 명령문 세트에 대한 바인드 옵션에 MULTIPLE_SPECIAL_REGISTER_VALUE_SETS 값을 갖는 -configureWarning 옵션을 추가합니다.
명령문 세트에 사용할 바인드 옵션 세트를 지정할 수 없는 경우, StaticBinder 유틸리티가 바인드 조작을 수행하지 않도록 지정할 수 있습니다. 명령문 세트에 대해 isBindable 속성의 값을 FALSE로 설정하십시오.
명령문을 캡처하고 특수 레지스터 정보를 기록하려면 현재 버전의 pureQuery Runtime을 사용하여 응용프로그램을 다시 실행하십시오.
특수 레지스터 정보를 기록하려면 특수 레지스터 정보에 액세스하는 데 필요한 권한을 가진 사용자를 지정하십시오.
명령문 세트에 있는 SQL문을 올바로 실행하기 위해 특수 레지스터 값이 필요한 경우, 옵션 파일의 명령문 세트에 대한 행에서 올바른 설정을 생성하는 바인드 옵션 세트를 지정하십시오.
올바른 바인드 옵션을 알고 있지 않은 경우, StaticBinder 유틸리티가 바인드 조작을 수행하지 않도록 지정할 수 있습니다. 명령문 세트에 대해 isBindable 속성의 값을 FALSE로 설정하십시오.
새 옵션 파일을 생성하고 파일에 더 이상 경고가 없는지 확인하려면 Configure 유틸리티 옵션 -optionsFileForBind를 지정하십시오.
SQL문 그룹화에 대한 내용은 Configure 유틸리티 옵션 -groupSQLByStrings를 참조하십시오.
다음 토큰은 명령문 세트에 있는 명령문을 실행하는 데 사용된 특수 레지스터 값 세트에 대한 정보를 제공합니다. 이들 토큰은 주석에 표시될 때 대괄호 안에 표시되어 어떤 토큰이 특정 특수 레지스터 값 세트에 해당하는지를 나타냅니다.
# WARNING: [specialRegValueId(10) minimumDivideScale(3)]특수 레지스터 값 세트 ID는 10입니다. 이 특수 레지스터 값 세트에서 CURRENT PRECISION 특수 레지스터에 의해 지정된 최소 분할 스케일은 3입니다.
일부 데이터베이스에서는 바인드 옵션이 패키지에 대한 최소 분할 스케일 값을 설정할 수 없으므로 주석이 경고로 표시됩니다. pureQueryXML 파일에 있는 특수 레지스터 값 세트 정보에 대한 내용은 pureQueryXML 파일에 있는 특수 레지스터 정보의 내용을 참조하십시오.
토큰은 특수 레지스터 설정별로 그룹화된 명령문 세트에 대한 주석 또는 defaultOptions 행에 있는 주석에 표시될 수 있습니다.
명령문 세트에 있는 모든 명령문이 분할 함수에 대한 최소 분할 스케일을 데이터베이스의 디폴트 설정으로 설정하고 잘못 실행하는지 여부를 판별합니다.
SQL문이 정적으로 실행될 때 올바로 실행되지 않을 경우, StaticBinder 유틸리티가 세트에 있는 SQL문을 바인드하지 않도록 지정할 수 있습니다. isBindable 속성의 값을 FALSE로 설정하십시오.
토큰은 특수 레지스터 설정별로 그룹화된 명령문 세트에 대한 주석 또는 defaultOptions 행에 있는 주석에 표시될 수 있습니다.
Configure 유틸리티는 또한 명령문 세트에 대한 바인드 옵션에 SPECIAL_REGISTER_VALUE_SET_MISSING 값을 갖는 -configureWarning 옵션을 추가합니다.
이 경고가 표시되는 한 가지 이유는 특수 레지스터 값 세트에 대한 정의가 파일에서 삭제되었기 때문입니다.
정의를 복구할 수 없는 경우, SQL문이 정적으로 실행될 때 올바른 작동을 할 수 있습니다. StaticBinder 유틸리티가 세트에 있는 SQL문을 바인드하지 않도록 지정할 수 있습니다. 세트에 사용할 isBindable 속성의 값을 FALSE로 설정하십시오.
토큰은 특수 레지스터 설정별로 그룹화된 명령문 세트에 대한 주석 또는 defaultOptions 행에 있는 주석에 표시될 수 있습니다.
토큰이 defaultOptions 엔트리에 나열되는 경우, Configure 유틸리티는 ID 앞에 pureQueryXML 파일 이름을 추가합니다. 파일에는 지정된 특수 레지스터 값 세트가 포함됩니다.
토큰은 특수 레지스터 설정별로 그룹화된 명령문 세트에 대한 주석 또는 defaultOptions 행에 있는 주석에 표시될 수 있습니다.
이 토큰은 SQLGroupedBySpecialRegisters(INCONSISTENT_SRINFO) 토큰이 존재할 때만 표시됩니다. SQL문을 다른 명령문 세트로 그룹화하는 데 대한 정보는 SQLGroupedBySpecialRegisters(INCONSISTENT_SRINFO)에 대한 정보를 참조하십시오.
이 명령문 세트에 있는 SQL문을 특수 레지스터 설정을 기준으로 그룹화할 경우, 일부 명령문이 SQLGroupedBySpecialRegisters(NO_SRINFO) 토큰과 함께 세트에 포함됩니다.
토큰은 특수 레지스터 설정별로 그룹화된 명령문 세트에 대한 주석 또는 defaultOptions 행에 있는 주석에 표시될 수 있습니다.
어떤 경우에는 OWNER 바인드 옵션을 사용하여 CURRENT SQLID 특수 레지스터에 의해 얻어지는 것과 동일한 효과를 얻을 수도 있습니다.
명령문 세트에 사용할 바인드 옵션 세트를 작성할 수 없는 경우, StaticBinder 유틸리티가 세트에 있는 SQL문을 바인드하지 않도록 지정할 수 있습니다. 세트에 사용할 isBindable 속성의 값을 FALSE로 설정하십시오.
토큰은 특수 레지스터 설정별로 그룹화된 명령문 세트에 대한 주석 또는 defaultOptions 행에 있는 주석에 표시될 수 있습니다.
specialRegisters 값은 하나 이상의 키워드가 될 수 있습니다. 둘 이상의 키워드가 인식되지 않는 경우, Configure 유틸리트는 각 키워드를 쉼표로 구분합니다.
pureQueryXML 파일에 있는 SQL문이 Configure 유틸리티 버전 보다 이전 버전인 pureQuery Runtime을 통해 캡처된 경우 인식되지 않는 특수 레지스터가 기록될 수 있습니다. 파일에 있는 특수 레지스터 정보가 수동으로 잘못 편집될 때 인식되지 않는 특수 레지스터가 작성될 수 있습니다.
이 토큰이 표시될 경우, pureQueryXML 파일의 SQL문을 캡처하는 Configure 유틸리티 버전보다 이후 버전 또는 같은 릴리스의 유틸리티를 사용하십시오. pureQueryXML 파일을 수동으로 잘못 편집한 경우, 편집을 되돌려야 합니다.
토큰은 특수 레지스터 설정별로 그룹화된 명령문 세트에 대한 주석 또는 defaultOptions 행에 있는 주석에 표시될 수 있습니다.
명령문 세트에 사용할 바인드 옵션 세트를 작성할 수 없는 경우, StaticBinder 유틸리티가 세트에 있는 SQL문을 바인드하지 않도록 지정할 수 있습니다. 세트에 사용할 isBindable 속성의 값을 FALSE로 설정하십시오.