어노테이션이 있는 메소드를 선언하는 인터페이스를 작성한 후,
정적으로 실행할 SQL문을 포함하는 DB2® 패키지의
구성 및 작성을 시작할 수 있습니다.
시작하기 전에
Oracle 데이터베이스를 사용 중인 경우 정적으로
SQL을 실행할 수 없습니다.
바인드 조작을 수행하기 전에
다음 전제조건이 충족되는지 확인하십시오.
- pureQuery StaticBinder 유틸리티를 호출하는 사용자의 특권 세트는
다음 권한 중 하나를 포함해야 합니다.
- SYSADM 권한
- DBADM 권한
- 패키지가 존재하지 않는 경우 BINDADD 특권 및 다음 특권 중 하나를
포함해야 합니다.
- CREATEIN 특권
- z/OS®용 DB2: 해당 콜렉션 또는 모든 콜렉션의
PACKADM 권한
- Linux®, UNIX® 및 Windows®용 DB2 데이터베이스: 패키지의 스키마 이름이 존재하지 않는 경우
데이터베이스의 IMPLICIT_SCHEMA 권한
- z/OS용 DB2: 패키지가 존재하는 경우
패키지의 BIND 특권
- Linux, UNIX 및 Windows용 DB2 데이터베이스: 패키지가 존재하는 경우
- 스키마의 ALTERIN 특권
- 패키지의 BIND 특권
- Linux, UNIX 및
Windows용 DB2: 또한 사용자는
애플리케이션의 모든 정적 SQL문을 컴파일하는 데 필요한 모든 특권이
필요합니다. 그룹에 권한 부여된 특권은 정적 명령문의 권한 부여 점검에
사용되지 않습니다. 사용자에게 SYSADM 권한은 있지만 바인드를 완료할 수 있는 명시적 특권은
없는 경우, DB2 데이터베이스 관리 프로그램이 명시적 DBADM 권한을
자동으로 부여합니다.
프로시저
워크벤치를 사용하여 pureQuery 코드에서 정적 SQL에 대한 지원을
구성하려면 다음을 수행하십시오.
- 두 개 이상의
인터페이스에서 별도의 DB2 패키지로 SQL문을 그룹화하려면,
다른 인터페이스를 사용하여 해당 인터페이스 중 하나를 확장하십시오.
- 작성하려는
DB2 패키지의 콜렉션, 루트 이름 및
버전을 지정하여 Default.genProps 파일을 편집하십시오.
- 인터페이스에 있는
SQL문과 이 SQL문에 대한 정보를 보십시오.
패키지 탐색기에서 프로젝트 폴더를 선택하거나 Java™
프로젝트에서 파일을 선택할 때 SQL 아웃라인 보기가 채워집니다.
보기가 열리지 않으면 창 > 보기
표시 > 기타를 선택하십시오.
보기 표시 창에서,
기타 > SQL
아웃라인을 선택하십시오.
사용자가 아직 바인드 조작을 수행하지 않았으므로, 보기는
바인드되지 않은 패키지만 표시합니다.
- SQL문이 DB2
패키지에 바인드되는 방법을 판별하기 위한 옵션을 지정하여 Default.bindProps 파일을 편집하십시오.
- 다음 단계에 따라 Java
프로젝트의 프로젝트에 있는 SQL문을 바인드하십시오.
- Java 프로젝트에 있는
모든 인터페이스를 바인드하려면 프로젝트를 마우스 오른쪽 단추로 누르고
pureQuery > pureQuery
애플리케이션 바인드를 선택하십시오.
- Java 프로젝트에 있는
하나 이상의 인터페이스를 바인드하려면 인터페이스 선택을 마우스 오른쪽 단추로 누르고
pureQuery > 바인드를
선택하십시오.
사용할 DB2 데이터베이스를
선택할 수 있도록 연결 선택 창이 열립니다.
사용자의 Java 프로젝트와 연관되지 않는
데이터베이스를 선택할 수 있습니다.
주의: 오프라인에서 작업 중일 경우 바인드 조작은 수행할 수 없습니다.
바인드할 DB2 데이터베이스에
연결되어 있어야 합니다.
- DB2 패키지와, 이 패키지가
포함하는 SQL문을 보십시오. 프로젝트 폴더를 선택하고 SQL 아웃라인 보기의 SQL 페이지를
찾아서 원하는 DB2 패키지를
작성했는지 확인하십시오.
데이터베이스에서 원하는 패키지를 작성했는지 검증하려면
SQL 아웃라인 보기에서 패키지를 마우스 오른쪽 단추로 누르고
데이터 소스 탐색기에 표시를 선택하십시오.
다른 옵션을 사용하여 DB2 패키지를 다시 작성하거나
pureQuery 코드를 실행하기 전에 패키지의 새 버전을 작성할 수 있습니다.
- 바인드된 SQL문을
정적으로 실행하도록 애플리케이션을 실행하십시오.
결과
SQL 아웃라인 보기를 사용하여
SQL문에 대해 발생할 수 있는 문제점을 해결할 수 있습니다.
인터페이스에서
하나 이상의 SQL문을 수정하거나 인터페이스에 명령문을 추가하는
경우: 해당 명령문을
포함하는 DB2 패키지의 새 버전을 작성하거나
변경할 수 있습니다..
JAR 파일에서 애플리케이션을 전개하려는
경우: 워크벤치에서, Default.bindProps 파일의 defaultOptions
라인은 해당 파일에서 개별적으로 옵션을 지정하는 인터페이스를 제외하고
프로젝트의 모든 인터페이스에 적용됩니다. JAR 파일에서 애플리케이션을
전개하기 전에, 바인드하려고 하는 SQL문을 포함하는 모든 인터페이스에 대한
엔트리가 Default.bindProps 파일에 포함되어 있는지 확인해야 합니다.
애플리케이션을 전개하는 데이터베이스에 대해 명령행에서 실행해야 하는
pureQuery StaticBinder 유틸리티는 Default.bindProps 파일에
나열된 인터페이스에 대해서만 작동합니다.
인터페이스를 추가하려면 다음을 수행하십시오.
- 프로젝트의 pureQueryFolder
폴더에서 Default.bindProps 파일을 마우스 오른쪽 단추로 누르고
pureQuery > 엔트리 추가 또는
제거를 선택하십시오.
- 엔트리 추가 또는
제거 창에서 모든 필수 인터페이스를 추가하십시오.
애플리케이션 전개 후 DB2 패키지의
루트 패키지 이름, 콜렉션 ID 및 버전을 개정해야 한다고 생각하는 경우,
defaultOptions 행이 적용되는 모든 인터페이스 항목이
Default.genProps 파일에 포함되어 있는지도 확인해야 합니다.
또한 항목을 마우스 오른쪽 단추로 누르고 항목 추가 또는 제거 창을
사용하여 이 파일에 항목을 추가할 수도 있습니다.