pureQuery 코드에서 정적 SQL 지원을 구성하기 위한 Default.genProps 파일의 엔트리 구문

Default.genProps 파일을 사용하여, 바인드된 SQL문을 포함하려는 DB2® 패키지의 옵션을 설정할 수 있습니다.

이 파일에서 프로젝트의 모든 인터페이스에 적용되는 옵션을 지정할 수 있습니다. 또한 개별 인터페이스에 특정한 옵션을 지정할 수도 있습니다.

이 파일에 주석을 추가할 수 있습니다. 각 주석은 # 기호로 시작하십시오.

항목을 작성하거나 편집할 때 CTRL+SPACE(또는 이 기본값을 변경한 경우 사용자 고유 키 입력)를 입력하여 지원을 사용할 수 있습니다.

구문 다이어그램을 쉽게 이해하려면 구문 다이어그램 읽는 방법을 참조하십시오.

다음 다이어그램은 파일에 나열된 모든 인터페이스에 대한 기본 옵션 설정에 허용되는 구문을 보여줍니다.

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

>--+---------------------------------------------+-------------->
   '- -baseDataOverride--Java-package.class-name-'   

>--+-----------------------------------+------------------------>
   |               .-NULLID----------. |   
   '- -collection--+-collection-name-+-'   

>--+--------------------------------+--------------------------->
   '- -pkgVersion-- -+-AUTO-------+-'   
                     '-version-ID-'     

>--+---------------------------------------+-------------------->
   |                             .-FALSE-. |   
   '- -forceSingleBindIsolation--+-TRUE--+-'   

>--+---------------------+--+-----------------------+----------><
   '- -xmlFile--XML-file-'  |                   (1) |   
                            '-| Trace options |-----'   

주:
  1. 구문의 경우 해당 옵션의 설명을 참조하십시오.

다음 구문 다이어그램은 파일에 나열된 개별 인터페이스에 대한 옵션 설정에 허용되는 구문을 보여줍니다.

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

>--+---------------------------------------------+-------------->
   '- -baseDataOverride--Java-package.class-name-'   

>--+-----------------------------------+------------------------>
   |               .-NULLID----------. |   
   '- -collection--+-collection-name-+-'   

>--+--------------------------------+--------------------------->
   '- -pkgVersion-- -+-AUTO-------+-'   
                     '-version-ID-'     

>--+----------------------------------+------------------------->
   '- -rootPkgName--package-name-stem-'   

>--+---------------------------------------+-------------------->
   |                             .-FALSE-. |   
   '- -forceSingleBindIsolation--+-TRUE--+-'   

>--+---------------------+-------------------------------------><
   '- -xmlFile--XML-file-'   

-baseDataOverride Java-package.class-name
생성된 구현 클래스가 확장할 Java 클래스의 이름을 지정합니다. 기본적으로 생성된 구현 클래스는 com.ibm.pdq.runtime.generator.BaseData 클래스를 확장합니다. 고유 클래스를 지정하여 고유 메소드를 통해 생성된 구현 클래스를 확장할 수 있습니다.
defaultOptions
행의 옵션이 이 파일에 나열된 모든 인터페이스의 SQL문에 적용되도록 지정합니다. 파일의 한 행만 이 키워드로 시작할 수 있습니다.
Java-package.interface(옵션 파일의 행 시작에서)
행의 옵션이 지정된 인터페이스의 SQL문에만 적용되도록 지정합니다. 해당 옵션은 기본값으로 지정한 옵션을 겹쳐씁니다.
인터페이스가 해당되는 Java 패키지의 이름으로 인터페이스 이름을 지정해야 합니다.
-collection collection-name
pureQuery StaticBinder 유틸리티가 바인드하는 패키지의 규정자입니다. 규정자는 사용 중인 DB2 데이터베이스의 콜렉션 이름에 대한 제한조건을 충족해야 합니다.
이 매개변수를 지정하지 않으면 NULLID가 기본값으로 설정됩니다.
-pkgVersion AUTO|version-ID
패키지가 바인드될 때 사용할 패키지 버전을 지정합니다.

DB2에서는 패키지의 여러 버전이 동시에 존재할 수 있으므로 같은 이름으로 지정된 패키지의 이전 버전을 바꾸지 않고 새 패키지를 바인드할 수 있습니다. 새 패키지에서 문제점이 발생하는 경우 해당 패키지의 이전 버전을 사용할 수 있습니다.

또한 Configure 유틸리티는 버전 ID를 파일 이름에 추가하여 pureQueryXML 파일의 사본을 작성합니다.

AUTO
현재 시간소인을 사용하여 버전 ID가 자동으로 생성되도록 지정합니다. 버전 ID에는 단일 시간소인이 사용됩니다.
version-ID
패키지의 버전 ID를 지정합니다. 이 문자열은 사용 중인 DB2의 버전에 대해 유효해야 합니다.

버전 ID에는 사용 중인 운영 체제에서 파일 이름에 유효한 문자만을 포함할 수 있습니다. 또한 문자열의 길이 및 패키지 이름은 운영 체제가 파일 이름으로 지원하는 길이를 초과할 수 없습니다.

이 옵션을 지정하고 Configure 유틸리티가 pureQueryXML 파일을 변경하지 않으면 유틸리티는 pureQueryXML 파일의 사본을 작성하지 않습니다.

이 옵션을 지정하지 않으면 후속 바인드에서 발생하는 데이터베이스 패키지가 버전 없이 작성되고 파일 사본이 작성되지 않습니다.

런타임 시 버전 검증은 버전 이름이 아닌 일관성 토큰을 기반으로 합니다.

-rootPkgName package-name-stem
DB2 패키지로 사용할 이름의 어간을 지정합니다. Configure 유틸리티의 DB2 패키지 이름 작성 방법에 대해서는 sqlLimit 설명을 참조하십시오.

package-name-stem은 사용 중인 DB2 데이터베이스에서 설정한 제한조건 내에 있어야 합니다.

DB2 패키지를 작성하지 않고 DBRM 파일을 생성하는 pureQuery StaticBinder 유틸리티를 사용하려는 경우, package-name-stem은 대문자여야 하며 6자를 초과해서는 안됩니다. pureQueryXml 파일에 DDL문을 포함하거나 패키지당 명령문 수(sqlLimit로 지정된)에 도달하면 구성 유틸리티는 이름 어간에 문자를 추가합니다. StaticBinder 유틸리티를 사용하여 DBRM 파일과 package-name-stem의 조합을 생성하면, 구성 유틸리티의 활동 때문에 추가 문자 및 분리 레벨이 8자보다 길며 StaticBinder 유틸리티가 예외로 처리합니다.

-forceSingleBindIsolation TRUE | FALSE
단일 분리 레벨로 DB2 패키지를 작성할 지 그리고 패키지 이름에 번호를 추가하여 분리 레벨을 표시할 지 여부를 지정합니다. 기본 값은 false이며 숫자 표시기가 추가된다는 것을 의미합니다.
Default.bindProps 파일에서 -isolationLevel 옵션과 함께 이 옵션을 사용합니다.

-isolationLevel 옵션을 사용하여 단일 명령문 세트를 두 개 또는 세 개의 다른 패키지(각 패키지는 다른 분리 수준에 있음)에 바인드하려는 경우, 명령문 세트가 표시되는 pureQueryXML 파일에 대해 Configure 유틸리티를 실행할 때 -forceSingleBindIsolation 옵션을 사용하지 마십시오.

예를 들어, StaticBinder 유틸리티에 대한 옵션 파일에서 다음 두 엔트리를 포함시켰다고 가정하겠습니다.

C:/dir/captureFile.pdqxml:MYPKGA = -isolationLevel UR
C:/dir/captureFile.pdqxml:MYPKGA = -isolationLevel CS

captureFile.pdqxml 파일에 대해 Configure 유틸리티를 실행할 때 -forceSingleBindIsolation 옵션을 사용한 경우 StaticBinder 유틸리티는 다음 조치를 수행합니다.

  1. UR 분리 수준에서 패키지 MYPKGA를 바인드합니다.
  2. CS 분리 수준에서 패키지 MYPKGA를 리바인드합니다.

결과는 CS 분리 수준에서 바인드된 단일 MYPKGA 패키지입니다.

결과가 두 개의 MYPKGA 패키지(하나는 UR 분리 수준에서 다른 하나는 CS 분리 수준에서)가 되도록 하려면, captureFile.pdqxml에 대해 Configure 유틸리티를 실행할 때 -forceSingleBindIsolation 옵션을 사용하지 마십시오.

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 이외의 값으로 설정하는 경우, 항목이 콘솔 보기에 작성됩니다.
-xmlFile XML-file
인터페이스에 정의된 메소드에서 SQL를 지정하거나 겹쳐쓰는 SQL을 포함하는 XML 구성 파일의 이름입니다. XML 구성 파일은 해당 Bean의 정의를 겹쳐쓸 수도 있습니다.

피드백