어노테이션이 있는 메소드와 함께 사용되는 StaticBinder 유틸리티

어노테이션이 있는 메소드 프로그래밍 양식 및 DB2® 데이터베이스를 사용하는 경우, StaticBinder 유틸리티를 사용하여 어노테이션이 있는 메소드의 SQL문을 해당 데이터 소스에 바인드할 수 있습니다. 또한 StaticBinder 유틸리티를 사용하여 DBRM 파일을 생성할 수도 있습니다.

다이어그램에서 사용되는 규칙을 이해하려면 구문 다이어그램 읽는 방법을 참조하십시오.

개요

DB2 패키지에 정적으로 바인드된 Embedded SQL을 사용하는 애플리케이션은 성능, 신뢰성, 보안, 모니터링 및 관리 영역에서 고유의 이점을 갖습니다.

StaticBinder 유틸리티를 실행하기 전에 pureQuery Generator 유틸리티를 실행하여 바인드하려는 SQL문을 포함하는 인터페이스에 대한 구현 클래스를 생성하십시오. pureQuery Generator 유틸리티가 실행될 때, 정적 DB2 패키지를 작성하는 데 필요한 모든 정보가 생성된 구현 클래스에 수집되고 저장됩니다. 이 정보에는 Java™ 클래스 정의 및 목표 데이터베이스의 모든 컬럼 또는 매개변수 메타데이터 둘 다에서 수집된 SQL문 및 모든 적용 가능 데이터 유형 정보가 포함됩니다. 해당 정보는 또한 DB2 패키지의 루트 패키지 이름과 선택적으로 콜렉션 ID 및 버전도 포함합니다.

StaticBinder 유틸리티는 DB2 패키지를 작성 및 바인드할 때 구현 클래스에서 이 정보를 읽습니다. StaticBinder 유틸리티를 실행할 때 명령행에서 정보를 읽어올 구현 클래스 또는 이러한 클래스에 해당하는 인터페이스를 지정할 수 있습니다. 옵션 파일을 사용하는 경우, 하나 이상의 인터페이스를 지정할 수 있습니다. StaticBinder 유틸리티는 해당 구현 클래스에서 정보를 읽어옵니다.

기본으로 pureQuery StaticBinder 유틸리티는 4개의 패키지 또는 DBRM 파일(4개의 DB2 분리 레벨 각각에 대해 하나씩)을 작성합니다. pureQuery StaticBinder 유틸리티는 패키지의 루트 이름 또는 DBRM 파일에 다음 번호를 추가하여 분리 레벨을 식별합니다.
1
UR(Uncommitted Read) 분리 레벨의 경우
2
CS(Cursor Stability) 분리 레벨의 경우
3
RS(Read Stability) 분리 레벨의 경우
4
RR(Repeatable Read) 분리 레벨의 경우

생성 프로그램 유틸리티를 실행하는 경우 -forceSingleBindIsolation 옵션을 사용하면, 분리 레벨 번호가 작성된 패키지의 이름에 추가되지 않습니다.

바인드를 수행할 때 -isolationLevel 옵션을 사용하거나 바인드 옵션 문자열에 분리 레벨을 지정하는 경우, 지정한 분리 레벨의 DBRM 파일 또는 패키지만이 작성됩니다. 이름은 4개의 분리 레벨 모두에 대해 패키지 또는 DBRM 파일을 작성할 때 StaticBinder가 사용한 규칙을 따릅니다.

옵션 파일 사용

옵션 파일은 pureQuery StaticBinder 유틸리티가 처리할 인터페이스를 나열하며 StaticBinder 유틸리티에 인터페이스 처리 방법을 명령합니다. 옵션 파일에서 나열된 인터페이스 모두에 적용되는 기본 옵션을 설정할 수 있습니다. 인터페이스로 옵션을 설정하여 기본 옵션을 겹쳐쓰고 개별 인터페이스에 특정적인 기타 옵션을 설정할 수도 있습니다.

StaticBinder 유틸리티를 실행할 명령에 -optionsFile 옵션과 함께 사용할 파일을 지정할 수 있습니다.

예를 들어, pureQuery StaticBinder 유틸리티에 대한 단순 옵션 파일은 다음과 같습니다.
defaultOptions = -bindOptions "QUALIFIER qual1" -url jdbc:db2://SRVR01:50000/DB01 -username user01 -password pass01
com.myCompany.MyInterfaceA = -bindOptions "QUALIFIER qual2"
com.myCompany.MyInterfaceB
com.myCompany.MyInterfaceC = -url jdbc:db2://SRVR01:50001/DB02 -username user02 -password pass02
이 예에서 defaultOptions로 시작된 행은 DB2 패키지의 규정자를 지정하며 기본 연결 URL을 설정합니다. 다음 행은 기본 규정자를 겹쳐쓴 규정자가 포함된 인터페이스를 지정합니다. 다음 행은 모든 기본 옵션이 적용되는 인터페이스를 지정합니다. 마지막 행은 다른 데이터베이스에 대해 바인드될 인터페이스를 지정합니다.
# 기호를 주석의 각 행 앞에 추가하여 옵션 파일에 주석을 포함시킬 수도 있습니다. 이 기호가 옵션 중 하나의 값에 나타나야 한다면 값을 큰따옴표로 표시합니다.
-pkgVersion "ver#1"
명령행에서 StaticBinder 유틸리티를 실행하고 옵션 파일을 사용하면, pureQuery는 다음 우선순위 순서대로 옵션을 인식합니다.
  1. 명령행의 옵션
  2. 지정된 옵션 파일의 개별 인터페이스에 대한 옵션
  3. 지정된 옵션 파일의 기본 옵션

권한 부여

유틸리티를 호출하는 사용자의 특권 세트는 다음 권한 중 하나를 포함해야 합니다.
  • SYSADM 권한
  • DBADM 권한
  • 패키지가 존재하지 않는 경우 BINDADD 특권 및 다음 특권 중 하나를 포함해야 합니다.
    • CREATEIN 특권
    • z/OS®용 DB2: 해당 콜렉션 또는 모든 콜렉션의 PACKADM 권한
    • Linux®, UNIX® 및 Windows®용 DB2 데이터베이스: 패키지의 스키마 이름이 존재하지 않는 경우 데이터베이스의 IMPLICIT_SCHEMA 권한
  • 패키지가 존재하는 경우:
    • z/OS용 DB2 :패키지의 BIND 특권
    • Linux, UNIX 및 Windows용 DB2 데이터베이스: 스키마의 ALTERIN 특권 및 패키지의 BIND 특권
또한 사용자는 애플리케이션의 모든 정적 SQL문을 컴파일하는데 필요한 모든 특권이 필요합니다. 그룹에 권한 부여된 특권은 정적 명령문의 권한 부여 점검에 사용되지 않습니다.

Linux, UNIX 및 Windows용 DB2 데이터베이스: 사용자에게 SYSADM 권한은 있지만 바인드를 완료할 명시적 특권이 없는 경우, DB2 데이터베이스 관리 프로그램이 명시적 DBADM 권한을 자동으로 부여합니다.

아카이브에서 바인드하지 않는 경우 StaticBinder 유틸리티를 실행하기 위한 명령 구문

이 명령을 사용하여, 사용자 애플리케이션을 포함하는 아카이브에 대해 StaticBinder 유틸리티를 실행할 수 있습니다. 아카이브는 StaticBinder 유틸리티에 제공할 인터페이스 및 구현 클래스를 포함해야 합니다. 확장자가 .bindProps이며 인터페이스 및 구현 클래스를 나열하는 옵션 파일을 사용하십시오.

StaticBinder 유틸리티는 사용자가 지정하는 각 인터페이스 또는 구현 클래스에 대한 패키지를 작성합니다. Generator 유틸리티를 실행할 때 rootPkgName 옵션을 사용하지 않은 경우, 각 패키지의 루트 이름은 다음 두 루트 이름 중 하나입니다.
  • 데이터베이스가 긴 패키지 이름을 지원하지 않는 경우: 루트 이름은 해당 인터페이스 이름에서 처음 7자입니다. 동일한 일곱 문자로 시작하는 이름이 둘 이상의 인터페이스에 있는 경우, 해당 인터페이스의 두 번째로 작성된 패키지가 첫 번째로 작성된 패키지를 겹쳐쓰고 해당 인터페이스의 세 번째로 작성된 패키지가 두 번째로 작성된 패키지를 겹쳐쓰는 식으로 진행됩니다.
  • 데이터베이스가 긴 패키지 이름을 지원하는 경우: 루트 이름은 해당 인터페이스의 전체 이름입니다.
구문 도표 읽기시각적 구문 도표 생략
                                        (1)   
>>-java--com.ibm.pdq.tools.StaticBinder------------------------->

    (2)                                                                 
>-------- -url--jdbc--:--db2--:--//--server--+---------+--/--database-->
                                             '-:--port-'                

>-- -username--user-ID-- -password--password-------------------->

>-- -archive-- -filename--+-.ear-+------------------------------>
                          +-.jar-+   
                          +-.war-+   
                          '-.zip-'   

>--+------------------------------------------------------------------------+-->
   |                  (3)                                                   |   
   +-| DBRM options |-------------------------------------------------------+   
   +- -bindOptions-- -"--bind-options--"--+-------------------------------+-+   
   |                                      '- -verifyPackages--+-DETAIL--+-' |   
   |                                                          '-SUMMARY-'   |   
   '- -verifyPackages--+-DETAIL--+------------------------------------------'   
                       '-SUMMARY-'                                              

>--+-----------------------------+--+----------------+---------->
   |                   .-FALSE-. |  |            (4) |   
   '- -differenceOnly--+-TRUE--+-'  '-| -grant |-----'   

>--+--------------------------+--+-----------------------+-----><
   '- -isolationLevel--+-CS-+-'  |                   (5) |   
                       +-RR-+    '-| Trace options |-----'   
                       +-RS-+                                
                       '-UR-'                                

주:
  1. 임의의 순서로 옵션을 지정할 수 있습니다.
  2. DBRM 파일만을 생성하려는 경우 -url, -username- 및 -password 옵션을 사용하지 않아도 됩니다.
  3. 구문의 경우 해당 옵션의 설명을 참조하십시오.
  4. 구문의 경우 해당 옵션의 설명을 참조하십시오.
  5. 구문의 경우 해당 옵션의 설명을 참조하십시오.

옵션 파일을 사용하지 않는 경우 StaticBinder 유틸리티를 실행하기 위한 명령 구문

이 명령을 사용하여 인터페이스 또는 구현 클래스의 이름을 지정하고 DB2 패키지 또는 DBRM 파일 작성을 위한 옵션을 지정할 수 있습니다.

StaticBinder 유틸리티는 사용자가 지정하는 각 인터페이스 또는 구현 클래스에 대한 패키지를 작성합니다. Generator 유틸리티를 실행할 때 -rootPkgName 옵션을 사용하지 않은 경우, 각 패키지의 루트 이름은 다음 두 루트 이름 중 하나입니다.
  • 데이터베이스가 긴 패키지 이름을 지원하지 않는 경우: 루트 이름은 해당 인터페이스 이름에서 처음 7자입니다. 동일한 일곱 문자로 시작하는 이름이 둘 이상의 인터페이스에 있는 경우, 해당 인터페이스의 두 번째로 작성된 패키지가 첫 번째로 작성된 패키지를 겹쳐쓰고 해당 인터페이스의 세 번째로 작성된 패키지가 두 번째로 작성된 패키지를 겹쳐쓰는 식으로 진행됩니다.
  • 데이터베이스가 긴 패키지 이름을 지원하는 경우: 루트 이름은 해당 인터페이스의 전체 이름입니다.
구문 도표 읽기시각적 구문 도표 생략
                                        (1)   
>>-java--com.ibm.pdq.tools.StaticBinder------------------------->

    (2)                                                                 
>-------- -url--jdbc--:--db2--:--//--server--+---------+--/--database-->
                                             '-:--port-'                

>-- -username--user-ID-- -password--password-------------------->

>--+------------------------------------------------------------------------+-->
   |                  (3)                                                   |   
   +-| DBRM options |-------------------------------------------------------+   
   +- -bindOptions-- -"--bind-options--"--+-------------------------------+-+   
   |                                      '- -verifyPackages--+-DETAIL--+-' |   
   |                                                          '-SUMMARY-'   |   
   '- -verifyPackages--+-DETAIL--+------------------------------------------'   
                       '-SUMMARY-'                                              

>--+-----------------------------+--+----------------+---------->
   |                   .-FALSE-. |  |            (4) |   
   '- -differenceOnly--+-TRUE--+-'  '-| -grant |-----'   

>--+--------------------------+--+-----------------------+------>
   '- -isolationLevel--+-CS-+-'  |                   (5) |   
                       +-RR-+    '-| Trace options |-----'   
                       +-RS-+                                
                       '-UR-'                                

                .------------------------.   
                V                        |   
>-- -interface----Java-package.interface-+---------------------><

주:
  1. 임의의 순서로 옵션을 지정할 수 있습니다.
  2. DBRM 파일만을 생성하려는 경우 -url, -username- 및 -password 옵션을 사용하지 않아도 됩니다.
  3. 구문의 경우 해당 옵션의 설명을 참조하십시오.
  4. 구문의 경우 해당 옵션의 설명을 참조하십시오.
  5. 구문의 경우 해당 옵션의 설명을 참조하십시오.

옵션 파일을 사용하는 경우 StaticBinder 유틸리티를 실행하기 위한 명령 구문

명령 및 옵션 파일을 사용하여 인터페이스의 이름을 지정하고 해당 인터페이스 각각을 기반으로 하는 DB2 패키지 또는 DBRM 파일 작성을 위한 옵션을 지정할 수 있습니다.

주의: 옵션 파일을 사용하지 않는 경우에는 명령행에서 구현 클래스를 지정할 수 있지만 옵션 파일을 사용하는 경우에는 구현 클래스를 지정할 수 없습니다.
구문 도표 읽기시각적 구문 도표 생략
                                        (1)   
>>-java--com.ibm.pdq.tools.StaticBinder------------------------->

>--+---------------------------------------------------------------------------------------------------------+-->
   '- -url--jdbc--:--db2--:--//--server--+---------+--/--database-- -username--user-ID-- -password--password-'   
                                         '-:--port-'                                                             

>--+-----------------------------------------------+------------>
   |              .------------------------------. |   
   |              V                              | |   
   '- -interface----Java-package.interface.class-+-'   

>-- -optionsFile--file-name--+-----------------------+---------->
                             |                   (2) |   
                             '-| Trace options |-----'   

>--+-------------------------------+---------------------------><
   '- -verifyPackages--+-DETAIL--+-'   
                       '-SUMMARY-'     

주:
  1. 임의의 순서로 옵션을 지정할 수 있습니다.
  2. 구문의 경우 해당 옵션의 설명을 참조하십시오.

StaticBinder 유틸리티의 옵션 파일에 기본 옵션을 지정하기 위한 구문

이 구문 다이어그램에서는 옵션 파일에 나열하는 모든 인터페이스에 대해 설정할 수 있는 기본 옵션에 대해 설명합니다.

구문 도표 읽기시각적 구문 도표 생략
                     (1)   
>>-defaultOptions--=-------------------------------------------->

>--+---------------------------------------------------------------------------------------------------------------+-->
   |  (2)                                                                                                          |   
   '------- -url--jdbc--:--db2--:--//--server--+---------+--/--database-- -username--user-ID-- -password--password-'   
                                               '-:--port-'                                                             

>--+---------------------------------------------+-------------->
   '-+-----------------------------------------+-'   
     '-+- -bindOptions-- -"--bind-options--"-+-'     
       |                  (3)                |       
       '-| DBRM options |--------------------'       

>--+----------------+--+--------------------------+------------->
   |            (4) |  '- -isolationLevel--+-CS-+-'   
   '-| -grant |-----'                      +-RR-+     
                                           +-RS-+     
                                           '-UR-'     

>--+-----------------------+-----------------------------------><
   |                   (5) |   
   '-| Trace options |-----'   

주:
  1. 임의의 순서로 옵션을 지정할 수 있습니다.
  2. DBRM 파일만을 생성하려는 경우 -url, -username- 및 -password 옵션을 사용하지 않아도 됩니다.
  3. 구문의 경우 해당 옵션의 설명을 참조하십시오.
  4. 구문의 경우 해당 옵션의 설명을 참조하십시오.
  5. 구문의 경우 해당 옵션의 설명을 참조하십시오.

StaticBinder 유틸리티의 옵션 파일에 개별 인터페이스에 대한 옵션을 지정하기 위한 구문

이 구문 다이어그램에서는 옵션 파일에 나열하는 각 인터페이스에 대해 설정할 수 있는 옵션에 대해 설명합니다.

구문 도표 읽기시각적 구문 도표 생략
                             (1)   
>>-Java-package.interface--=------------------------------------>

>--+---------------------------------------------------------------------------------------------------------------+-->
   |  (2)                                                                                                          |   
   '------- -url--jdbc--:--db2--:--//--server--+---------+--/--database-- -username--user-ID-- -password--password-'   
                                               '-:--port-'                                                             

>--+---------------------------------------------+-------------->
   '-+-----------------------------------------+-'   
     '-+- -bindOptions-- -"--bind-options--"-+-'     
       |                  (3)                |       
       '-| DBRM options |--------------------'       

>--+----------------+--+--------------------------+------------><
   |            (4) |  '- -isolationLevel--+-CS-+-'   
   '-| -grant |-----'                      +-RR-+     
                                           +-RS-+     
                                           '-UR-'     

주:
  1. 임의의 순서로 옵션을 지정할 수 있습니다.
  2. DBRM 파일만을 생성하려는 경우 -url, -username- 및 -password 옵션을 사용하지 않아도 됩니다.
  3. 구문의 경우 해당 옵션의 설명을 참조하십시오.
  4. 구문의 경우 해당 옵션의 설명을 참조하십시오.

애플리케이션에서 StaticBinder 유틸리티 실행

com.ibm.pdq.tools.StaticBinder 클래스의 bind() 메소드를 사용하여 런타임 시 애플리케이션의 SQL문을 DB2 패키지로 바인드합니다. 바인드 조작이 실패하면 메소드는 FALSE 값을 리턴하며 바인드 조작이 성공적으로 실행되면 TRUE 값을 리턴합니다.

메소드에는 두 개의 매개변수가 포함됩니다. 첫 번째는 StaticBinder 유틸리티로 인수를 전달하는 문자열 배열입니다. 두 번째는 StaticBinder 유틸리티가 메시지와 예외를 인쇄하는 PrintWriter 오브젝트입니다.

bind() 메소드에 대한 호출 예는 다음과 같습니다.

StaticBinder binder = new StaticBinder ();
PrintWriter  out = new PrintWriter(
	  new FileWriter("BinderOutput.txt"));
String[] argsArray = {"-user","username","-password","password", 
	  "-url","JDBC-URL","-interface","interface-class"};
Boolean check=binder.bind(argsArray, out);

옵션에 대한 설명

-archive archive-file
아카이브 파일에서 애플리케이션을 DB2 서버에 전개하고 해당 서버에서 StaticBinder를 실행하여 SQL문을 바인드하려면 이 옵션을 사용하십시오. archive-file의 경우, 애플리케이션이 있는 아카이브를 지정하십시오. 아카이브는 StaticBinder 유틸리티에 제공할 인터페이스 및 구현 클래스를 포함해야 합니다. 확장자가 .bindProps이며 인터페이스 및 구현 클래스를 나열하는 옵션 파일을 사용하십시오. 지원되는 아카이브 유형은 .ear, .jar, .war 및 .zip 파일입니다.

아카이브에 확장자가 .bindProps이고 StaticBinder 유틸리티에 제공하는 pureQueryXML 파일을 나열하는 옵션 파일이 있을 수 있습니다. 명령의 부분으로 .bindProps 파일을 지정하지 않으면 StaticBinder 유틸리티가 아카이브에서 .bindProps 파일을 검색합니다. StaticBinder 유틸리티는 아카이브에서 첫 번째로 찾은 .bindProps 파일을 사용합니다. 상위 레벨 EAR, JAR 또는 WAR에서 검색을 시작합니다.

StaticBinder 명령을 사용하여 .bindProps 파일의 이름을 지정한 경우에는 지정된 파일이 사용됩니다.

DAO 구현에 -archive 옵션을 바인드할 때 StaticBinder 유틸리티는 구현 클래스를 로드하여 정보를 구합니다. 클래스를 로드하려면 EAR, JAR 또는 WAR 파일에서 종속 클래스를 로드해야 할 수도 있습니다.

-archive 옵션을 사용하는 바인드 오퍼레이션 중에 StaticBinder 유틸리티가 찾을 수 없는 클래스에 대한 오류를 리턴할 수 있습니다. 예를 들어, 애플리케이션 서버 컨텍스트가 필요한 일부 엔터프라이즈 애플리케이션이 이러한 오류를 리턴합니다.

StaticBinder 유틸리티 로드 종속성을 최소화하려면 Apache BCEL 라이브러리를 클래스 경로에 둡니다. StaticBinder 유틸리티에서 BCEL 라이브러리를 사용할 수 있으면 유틸리티는 바이트코드 수정을 사용하여 구현 종속성을 제외하고 로드된 클래스의 수를 최소화합니다. 대부분의 경우, 라이브러리를 클래스 경로에 추가하면 찾을 수 없는 클래스로 인한 오류가 해결됩니다.

Apache BCEL JAR 파일은 pureQuery Runtime과 함께 제공되지 않습니다. BCEL 라이브러리는 Apache 프로젝트 웹 사이트에서 사용 가능합니다.

-bindOptions "string-of-bind-options"
해당 옵션의 기능은 같은 이름으로 지정된 DB2 프리컴파일 및 바인드 옵션의 기능과 같습니다. 프로그램이 z/OS용 DB2 시스템에서 실행되도록 준비하는 경우, z/OS용 DB2 옵션을 지정하십시오. 프로그램이 Linux, UNIX 및 Windows용 DB2 시스템에서 실행되도록 준비하는 경우, Linux, UNIX 및 Windows용 DB2 옵션을 지정하십시오.

문자열 구문은 "option_1 value_1 option_2 value_2"입니다.

해당 옵션의 목록 및 설명은 BIND command를 참조하십시오.
REOPT 바인드 옵션이 pureQuery 코드에서 유용할 수 있습니다. 이 옵션과 함께 SQL문에 매개변수 표시문자를 사용할 수 있으며 DB2 액세스 경로를 계속 최적화할 수 있습니다. 지원되는 DB2 데이터베이스에서 이 옵션 사용에 대한 정보는 다음 링크를 참조하십시오.
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 파일 생성 옵션을 설명합니다.

구문 도표 읽기시각적 구문 도표 생략
>>- -generateDBRM--+-TRUE--+-- -outputDBRMPath--path-----------><
                   '-FALSE-'                           

-generateDBRM
패키지를 작성하는 대신에 DBRM 파일을 생성하는지 여부를 지정합니다. generateDBRMTRUE인 경우 기본으로 StaticBinder 유틸리티가 4개의 DBRM 파일(분리 레벨 CS, RR, RS, UR 각각에 대해 하나씩)을 생성합니다. 그러나 -isolationLevel 옵션을 지정하는 경우 하나의 DBRM 파일만 생성할 수 있습니다.

생성된 DBRM 파일의 루트 이름은 Generator 유틸리티를 실행할 때 지정한 루트 패키지 이름입니다. 이 이름이 7자를 넘지 않는다면 StaticBinder 유틸리티가 예외로 처리합니다.

-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 옵션을 사용할 수 없습니다.

-interface java-package.interface-class
pureQuery Generator 유틸리티가 DB2 패키지에 바인드하려는 SQL문을 포함하는 구현 클래스를 생성했던 인터페이스의 이름입니다. 이 이름은 클래스가 있는 Java 패키지를 포함해야 합니다. pureQuery StaticBinder 유틸리티는 인터페이스의 이름과 Impl 접미부의 조합을 사용하여 사용할 구현 클래스를 판별합니다.
StaticBinder 유틸리티가 다음 두 조치를 수행하도록 하려면 -interface-optionsFile과 함께 사용하면 됩니다.
  • 지정된 인터페이스에 있는 SQL문만 바인드
  • 지정된 인터페이스의 옵션 파일에 있는 옵션과 명령행의 옵션 조합

옵션 파일에 인터페이스의 엔트리가 없는 경우 StaticBinder 유틸리티는 명령행에 있는 바인드 옵션과 옵션 파일의 defaultOptions 엔트리에 있는 바인드 옵션을 사용합니다.

-isolationLevel CS | RR | RS | UR
4개의 분리 레벨 각각에 대해 DB2 패키지나 DBRM 파일을 하나씩 생성하지 않고 특정 분리 레벨에 대한 단일 DB2 패키지 또는 DBRM 파일을 생성하도록 지정합니다.

분리 레벨은 패키지에 있는 모든 SQL문에 적용됩니다. 분리 레벨을 JDBC 및 SQLJ용 IBM® 데이터 서버 드라이버의 Connection.setTransactionIsolation() 메소드를 통해 설정하면, pureQuery는 정적으로 실행된 명령문의 해당 분리 레벨을 무시합니다.

UR
언커미트 읽기를 분리 레벨로 지정합니다.
Generator 유틸리티를 실행 시 -forceSingleBindIsolation 옵션을 사용하지 않았다면 StaticBinder 유틸리티가 작성된 패키지 또는 DBRM 파일의 이름에 1을 추가합니다.
CS
커서 안정성을 분리 레벨로 지정합니다.
Generator 유틸리티를 실행 시 -forceSingleBindIsolation 옵션을 사용하지 않았다면 StaticBinder 유틸리티가 작성된 패키지 또는 DBRM 파일의 이름에 2를 추가합니다.
RS
읽기 안정성을 분리 레벨로 지정합니다. 읽기 안정성 레벨에서는 애플리케이션이 읽고 변경하는 행에 대한 다른 애플리케이션 프로세스와 별도로 패키지의 SQL문이 실행됩니다.
Generator 유틸리티를 실행 시 -forceSingleBindIsolation 옵션을 사용하지 않았다면 StaticBinder 유틸리티가 작성된 패키지 또는 DBRM 파일의 이름에 3을 추가합니다.
RR
반복 읽기를 분리 레벨로 지정합니다.
Generator 유틸리티를 실행 시 -forceSingleBindIsolation 옵션을 사용하지 않았다면 StaticBinder 유틸리티가 작성된 패키지 또는 DBRM 파일의 이름에 4를 추가합니다.
Java-package.interface (옵션 파일의 행 시작에서)
행의 옵션이 지정된 인터페이스의 SQL문에만 적용되도록 지정합니다. 해당 옵션은 기본값으로 지정한 옵션을 겹쳐씁니다.
인터페이스가 해당되는 Java 패키지의 이름으로 인터페이스 이름을 지정해야 합니다.
-optionsFile file-name
바인드하려는 SQL문을 포함하는 인터페이스를 나열하는, 절대 또는 상대 경로를 포함하는 파일의 이름입니다.
-password password
데이터 소스에 연결하는 데 사용하는 암호입니다.
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입니다.
-username user-ID
데이터 소스에 연결하는 데 사용하는 사용자 ID입니다.
-verifyPackages DETAIL|SUMMARY
StaticBinder 유틸리티가 인터페이스나 구현 클래스와 연관된 SQL문이 존재하는지 여부를 패키지의 보고서로 작성할 것인지 지정합니다. 이 옵션을 사용하면 StaticBinder 유틸리티가 패키지를 바인드하지 않습니다.

예를 들어 테이블 순서를 쿼리하고 갱신하는 메소드를 선언하는 OrdersData라는 인터페이스에서 생성 프로그램 유틸리티를 실행했다고 가정합니다. 생성 프로그램 유틸리티는 구현 클래스 OrdersDataImpl을 작성합니다.

유틸리티를 실행했을 때 -collection, -pkgVersion 및 -rootPkgName 옵션에 대한 값이 제공되었으며 유틸리티는 이들 값을 구현 클래스에 저장했습니다. 이 클래스의 이름을 지정하는 StaticBinder 유틸리티를 실행하면 유틸리티가 DB2 패키지를 작성합니다.

나중에 StaticBinder 유틸리티가 구현 클래스에서 작성한 패키지 목록을 볼 수 있습니다. 유틸리티를 실행 시, -verifyPackages 옵션을 사용하여 DETAIL 값을 지정하고 다시 클래스 이름을 제공할 수 있습니다.

-collection, -pkgVersion 및 -rootPkgName 옵션 값이 StaticBinder 유틸리티를 이전에 실행했을 때와 같다면, 유틸리티가 해당 패키지를 찾아 나열합니다.

하지만 먼저 StaticBinder 유틸리티를 실행하고 -collection, -pkgName 및 -rootPkgName 값을 변경한 후 OrdersData 인터페이스에서 생성 프로그램 유틸리티를 실행하면, StaticBinder 유틸리티가 이들 옵션의 새 값과 일치되는 패키지를 찾지 못합니다. 보고서에서 StaticBinder 유틸리티는 찾고 있는 패키지가 없다고 보고합니다.

구현 클래스를 생성하고 해당 클래스나 연관된 인터페이스에서 StaticBinder 유틸리티를 실행한 후, 해당 인터페이스에서 다시 생성 프로그램 유틸리티를 실행하지 않고 -collection, -pkgVersion 및 -rootPkgName에 대해 다른 값을 제공하지 않았다는 전제 하에서 -verifyPackages 옵션이 동작합니다.

이 옵션은 -bindOptions 옵션과 함께 지정할 수 있습니다. 하지만 StaticBinder 유틸리티는 패키지를 바인드하지 않습니다. 패키지를 작성할 때 이 옵션을 사용하여 콜렉션을 지정한 경우 -bindOptions만을 사용하여 검증할 패키지 콜렉션을 지정하십시오.

세부사항
-collection, -pkgVersion 및 -rootPkgName 값을 기본으로 하는 다음 정보를 설명하는 보고서를 작성합니다.
  • 존재하지 않는 패키지.
  • 존재하는 패키지. 각 패키지에 대해 보고서는 이름, 일관성 토큰, 시간소인 및 분리 레벨을 나열합니다.
  • 존재하거나 존재하지 않는 패키지 수.
요약
-collection, -pkgVersion, 및 -rootPkgName의 값을 부여하는 존재하거나 존재하지 않는 패키지를 나열하는 보고서를 작성합니다.

피드백