z/OS용 DB2 레거시 드라이버와 함께 임베디드 SQLJ 사용
SQLJ(Structured Query Language in Java™)는 Java 프로그래밍 언어를 사용하여 프로그래머가 SQL(Structured Query Language) 데이터베이스 요청을 제공하는 명령문을 임베디드할 수 있도록 하는 프로그래밍 확장기능 세트입니다. 데이터 액세스 애플리케이션과 함께 DB2® for z/OS® Legacy Driver를 사용할 수 있습니다.
이 태스크 정보
- WebSphere® Application Server for z/OS 및 DB2 for z/OS Legacy Driver에서 SQLJ를 사용하려면 DB2 APAR PQ76442를 설치해야 합니다.
- SQLJ를 사용하여 생성한 CMP(Container Managed Persistence) Bean은 DB2 for z/OS Legacy Driver에서 지원하지 않습니다. SQLJ를 사용하여 생성된 DB2 Universal Driver for CMP를 사용하십시오.
다음은 DB2 for z/OS Legacy Driver를 사용하는 WebSphere Application Server for z/OS v6.0에서 실행되는 SQLJ로 애플리케이션을 개발하는 데 필요한 단계입니다.
프로시저
- 필요한 경우 SQLJ를 사용하여 요구사항에 따라 RAD(Rational® Application
Developer)에서 애플리케이션을 설계하십시오. 예를 들어, BMP를 사용하는 Bean 호출 테스트를 개발하는 경우 TestBean.sqlj(TestBean.java 대신)를 코딩하십시오.
- z/OS용 DB2 설치에서 db2sqljclasses.zip 파일을 워크스테이션의 디렉토리로 복사한 후 db2sqljclasses.zip 파일을 포함하여 EJB JAR(Java Archive) 프로젝트의 Java 빌드 경로를 수정하십시오.
- 다음 단계에 따라 SQLJ 코드를 변환하십시오.
- SQLJ 파일을 찾은 다음 ASCII 모드 전송을 사용하여 z/OS 환경의 HFS로 FTP 전송하십시오.
- sqlj 명령을 사용하여 SQLJ 코드를 Java 코드로 변환하십시오.
두 개의 파일(확장자가 .java인 파일과
확장자가 .ser인 파일)이 생성됩니다.
sqlj -compile=false SQLJ_FILE_NAME
- .java 파일에는 ASCII 모드 전송을 사용하고 .ser 파일에는 BINARY 모드 전송을 사용하여 SQLJ 파일이 있는 워크스테이션의 디렉토리로 이 파일을 이동하십시오.
- 프로젝트을 새로 고칩니다.
- 애플리케이션에 대한 전개 코드를 생성하십시오.
- EAR 파일을 내보내십시오.
- 애플리케이션 설치
- zOS용 DB2 로컬 JDBC 제공자(RRS)를 사용하여 데이터 소스를 작성하십시오. JDBC Provider 및 데이터 소스를 정의할 때 기본값으로 충분히 SQLJ 지원을 제공할 수 있습니다.
- WebSphere Application Server에 애플리케이션을 설치하십시오.
1단계에서 작성한 데이터 소스를 사용하여 자원 참조를 해석하십시오.
- 직렬화된 프로파일 사용자 정의 배치 코드를 생성할 때
애플리케이션에 고유한 직렬화된 프로파일이나 확장자가 .ser인 파일이 작성됩니다. 이 프로파일은
z/OS 환경에서
사용자 정의해야 사용할 수 있습니다.
- 2진 전송을 사용하여 애플리케이션을 설치한 z/OS 환경에 직렬화된 프로파일을 전송하십시오. 또는, 사용자의 설치된 EAR 디렉토리에서 직렬 프로파일을 EJB JAR 파일로부터 추출하기 위해 Java jar 명령을 사용하십시오.
- db2profc 명령을 사용하여 직렬화된 프로파일을 사용자 정의하십시오. DB2
문서에서 이 명령과 연관된 다양한 옵션에 대한 정보를 볼 수 있습니다.
다음은 프로파일을 사용자 정의하기 위한 최소의 요구사항입니다.
db2profc -pgmname=PROGRAM_NAME PROFILE_NAME
- 여기에서:
- PROGRAM_NAME은 올바른 MVS™ PDS 멤버 이름이며 7자까지 가능합니다.
- PROFILE_NAME은 사용자 정의할 직렬화된 프로파일의 이름입니다. 각 프로파일에 대해 db2profc를 한 번 실행해야 합니다.
- 프로파일 사용자 정의기는 PDS USERNAME.DBRMLIB.DATA에서 4개의 데이터세트를 작성합니다. DBRM의 구성원 이름은 PROGRAM_NAME으로 지정한 사항으로 시작합니다.
- CLASSPATH 환경 변수에 다음이 포함되는지 확인하십시오.
- 직렬화된 프로파일의 위치
- 설치된 EAR 디렉토리의 EAR JAR 파일
- 작성된 DBRM을 포함하도록 PDS를 할당하십시오. 이 PDS USERNAME.DBRMLIB.DATA의 이름을 지정하십시오.
여기서 USERNAME은 db2profc 명령을 구현하는 사용자입니다.다음 필드는 예입니다.
영역 단위=TRACK 1차 수량=15 2차 수량=5 디렉토리 블록=10 레코드 형식=FB 레코드 길이=80 블록 크기=27920 데이터 세트 이름 유형=PDS
- 여기에서:
- 지금 사용자 정의되는 직렬화된 기존 프로파일을 애플리케이션 클래스 경로의
일부이자 EJB JAR 파일의 직렬화된 프로파일 앞에 있는 위치에 배치하십시오.
DB2 프로파일 사용자 정의기의 출력과 입력 파일은 동일한 이름을 갖습니다. 클래스 경로에서 원래의 직렬화된 프로파일 앞으로 출력 파일을 이동하십시오. 또는, 사용자 정의된 프로파일을 EJB JAR 파일로 이동하여 원래 파일을 대체할 수 있습니다. 원래 파일을 바꾸는 것이 좋습니다.
중요: 직렬화된 프로파일이 있는 디렉토리에서 db2profc 명령을 실행하는 경우 프로파일 사용자 정의기가 직렬화된 프로파일을 겹쳐씁니다. 프로파일 사용자 정의기가 실행된 후에는 사용자 정의 버전만 필요하기 때문에 이것은 문제가 되지 않습니다.
- DBRM을 패키지로 바인드하십시오. 참고: DBRM을 바인드하기 전에 데이터베이스 테이블을 작성해야 합니다. 그렇지 않으면 바인드 작업이 실패합니다.
db2profc 사용자 정의 명령은 패키지로 바인드되어야 하는 일련의 DBRM을 작성합니다. 각각의 사용자 정의된 프로파일에 대해 4개의 DBRM이 작성됩니다.
이 DBRM은- USERNAME.DBRMLIB.DATA에 있습니다.
- 모두 PROGRAM_NAME으로 지정한 사항으로 시작하는 이름을 가지고 있습니다.
- 번호는 1에서 4입니다.
예를 들어, IBMUSER로 로그인하고 -pgmname=TESTBMP를 지정한 다음 db2profc 명령을 실행하는 경우, TESTBMP1, TESTBMP2, TESTBMP3 및 TESTBMP4의 4개의 데이터 세트가 작성되고 PDS IBMUSER.DBRMLIB.DATA에 배치됩니다.
이 데이터세트는 UR, CS, RS 및 RR로 분리된 패키지로 바인드되어야 합니다. 사용자 정의하는 각각의 직렬화된 프로파일에 대해 바인드를 실행해야 합니다.
- 모든 DBRM을 패키지로 바인드한 후 패키지를 계획으로
바인드하십시오. 계획에 원하는 이름을 지정하십시오.
중요: 새 계획의 패키지 목록(PKLIST)에 JDBC 패키지도 포함시켜야 합니다. 포함시킬 JDBC 패키지의 기본 이름은 DSNJDBC.DSNJDBC1, ..., DSNJDBC.DSNJDBC4입니다. 설치 시 JDBC 패키지의 기본 이름을 사용하지 않았으면 DB2 관리자에게 문의하여 포함시켜야 하는 JDBC 패키지의 이름을 판별하십시오.
다음은 새 계획을 바인드하는 데 사용되는 샘플 작업입니다.- IBMUSER로 로그온하는 중 하나의 직렬화된 프로파일이 작성되었습니다.
- -pgmname=TESTBMP가 db2profc를 실행하도록 지정되었습니다.
- 새 계획은 SQLJPLAN으로 이름 지정됩니다.
//BBOOLS JOB (516B,1025),'IBMUSER',MSGCLASS=H,CLASS=A,PRTY=14, // NOTIFY=&SYSUID,TIME=1440,USER=IBMUSER,PASSWORD=IBMUSER, // MSGLEVEL=(1,1) //******************************************************************** //BINDOLS EXEC PGM=IKJEFT01,DYNAMNBR=20 //DBRMLIB DD DSN=IBMUSER.DBRMLIB.DATA,DISP=SHR //* DD DSN=MVSDSOM.DB2710.SDSNDBRM,DISP=SHR //SYSTSPRT DD SYSOUT=* //SYSPRINT DD SYSOUT=* //SYSUDUMP DD SYSOUT=* //SYSTSIN DD * DSN SYSTEM(DB2) BIND - PACKAGE(TESTBMP) - QUALIFIER(IBMUSER) - MEMBER(TESTBMP1) - VALIDATE(BIND) - ISOLATION(UR) - SQLERROR(NOPACKAGE) - BIND - PACKAGE(TESTBMP) - QUALIFIER(IBMUSER) - MEMBER(TESTBMP2) - VALIDATE(BIND) - ISOLATION(CS) - SQLERROR(NOPACKAGE) - BIND - PACKAGE(TESTBMP) - QUALIFIER(IBMUSER) - MEMBER(TESTBMP3) - VALIDATE(BIND) - ISOLATION(RS) - SQLERROR(NOPACKAGE) - BIND - PACKAGE(TESTBMP) - QUALIFIER(IBMUSER) - MEMBER(TESTBMP4) - VALIDATE(BIND) - ISOLATION(RR) - SQLERROR(NOPACKAGE) - BIND PLAN(SQLJPLAN) - QUALIFIER(IBMUSER) - PKLIST(TESTBMP.* - DSNJDBC.* ) - ACTION(REPLACE) RETAIN - VALIDATE(BIND) END /*
- 새 계획에 적절한 권한을 부여하십시오. SPUF1과 같이
DB2에 대한 인터페이스를 사용하여
권한을 부여하십시오. 다음 명령을 발행하십시오.
여기에서:GRANT EXECUTE ON PLAN PLANNAME TO APPSERVERID
- PLANNAME은 바인드한 계획의 이름입니다.
- APPSERVERID는 WebSphere Application Server가 실행되는 ID입니다(예: CBSYMSR1).
- 새 계획을 사용하도록 데이터 소스를 구성하십시오.
- WebSphere Application Server for z/OS 관리 콘솔에서 데이터 소스를 탐색하고 사용자 정의 특성을 선택하십시오.
- 사용자 정의 특성 planName을 선택하십시오.
- planName의 값을 바인드할 때 계획에 지정한 이름으로 업데이트하십시오.
- enableSQLJ를 true로 설정하십시오.
- 서버를 중지하고 다시 시작하십시오.
- 애플리케이션을 실행하십시오.


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tdat_sqljdb2zos
파일 이름:tdat_sqljdb2zos.html