(C) Copyright International Business Machines Corporation 2000, 2006. All rights reserved. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM(R) Corp.
Workbench에는 데이터 프로젝트의 다음과 같은 두 가지 새로운 유형이 있습니다.
- 데이터 디자인 프로젝트
- 데이터 개발 프로젝트
데이터 디자인 프로젝트는 데이터 모델(예: 실제 데이터 모델 및 논리 데이터 모델)의 작성 및 저장에 사용됩니다. 데이터 개발 프로젝트는 데이터 응용프로그램 개발 오브젝트(스토어드 프로시저 및 사용자 정의 기능)의 작성 및 저장에 사용됩니다. 또한 루틴은 실제 데이터 모델의 일부로 데이터 디자인 프로젝트에서 볼 수 있습니다. 하지만 데이터 디자인 프로젝트의 루틴 개발 지원은 매우 제한적이고 데이터 디자인 프로젝트의 루틴에 대한 SQL 도구가 지원되지 않습니다. 루틴을 개발하는 경우, 마법사, 루틴 편집기, 디버깅 지원 및 SQL 도구 통합을 포함한 보다 완전하게 지원하는 전용 데이터 개발 프로젝트를 사용하는 것이 바람직합니다.
테이블 데이터 편집기:
. XML 데이터 유형의 단일 열이 있는 테이블 또는 고유하지 않은 행이 있는 테이블을 정의하고 테이블 편집기를 사용해 하나의 행을 삭제하면 선택한 행과 일치하는 모든 행이 삭제됩니다. 이 문제를 해결하려면 테이블 데이터 편집기를 사용하지 않고 중복되는 행이 있는 테이블의 행을 삭제하십시오.. 테이블 데이터 편집기에서 1차 키가 없는 XML 테이블의 XML 유효성 검증을 수행하는 경우 XML 값을 삽입하면 처음에 XML 유효성 검증만 실행됩니다. 또한 XML 유효성 검증으로 기존의 XML 열을 갱신하는 데 실패합니다. 이 문제점을 해결하려면 XML 열이 포함된 테이블에 1차 키를 작성하십시오.
어노테이션이 있는 XSD 맵핑 편집기:
. 이 편집기의 다중 루트 요소로 작업하면 어노테이션이 있는 XSD 파일 저장 시 오류가 발생할 수 있습니다. 이 문제를 해결하려면 각 루트 요소에 대한 XML 스키마 문서 파일의 독립된 세트를 작성하십시오.
XML:
. XML 데이터 유형을 사용하고 XML 스키마로 작업하려면 UTF-8 데이터베이스에연결해야 합니다.. XML 문서의 데이터베이스에서 리턴된 데이터의 양은 무제한입니다. 리턴된 데이터의 양에 따라 성능에 영향을 줍니다.
SQL 도구:
. SQL 편집기는 현재 Run SQL 조치 중에는 호스트 변수를 지원하지 않습니다. 이 문제를 해결하려면 SQL이 DML 명령문인 경우 SQL 빌더에서 SQL을 실행합니다.. SQL 빌더에서 전체 SQL 구문이 지원되지 않습니다. 예를 들어, 사용자 정의 유형(UDT) 및 테이블 함수는 지원되지 않습니다.
루틴 개발:
. 사용자 정의 유형(UDT)은 루틴의 매개변수로 지원되지 않습니다.. Ant 전개를 사용하여 파일 시스템에서 iSeries(TM)용 DB2(R) UDB를 대상으로 하는 Java(TM) 스토어드 프로시저를 배치하려면 시스템 클래스 경로에 jt400.jar이 반드시 있어야 합니다.
. DeployInstructions.txt의 명령을 사용하여 내보낸 스토어드 프로시저의 배치를 시도하면 다음과 같은 오류 메시지가 표시됩니다.
...[createsp] 대상 데이터베이스에 연결할 수 없습니다.
[createsp] com.ibm.db2.jcc.DB2Driver...
이 문제점을 해결하기 위해서는 db2jcc.jar 및 올바른 라이센스 파일이 시스템 클래스 경로에 있어야 합니다..Java 스토어드 프로시저의 배치 또는 실행 시 "클래스를 로드할 수 없습니다"라는 오류 메시지가 나타날 수 있습니다. 이 오류는 RAD v7 및 DB2 서버 간에 JDK 버전이 일치하지 않는 경우 또는 DB2 서버가 하위 레벨의 JDK에 있는 경우에 발생할 수 있습니다.
이 오류가 발생하지 않게 하려면 JDK 1.4 레벨을 사용하는 서버에 대해 Java 스토어드 프로시저를 배치할 때 루틴 배치 마법사의 컴파일 선택사항 필드에 "-source 1.4" 선택사항을 지정해야 합니다. (예: Linux(R), UNIX(R) 및 Windows(R)용 DB2 Universal Database(TM) V8.2 서버). 일반적으로 데이터베이스 서버의 JDK 레벨과 일치시키려면 올바른 컴파일 선택사항인 "-source JDK level "을 사용하십시오.. Ant 배치 기능을 사용하여 스토어드 프로시저 또는 UDF를 배치하는 경우, 클래스 경로에 tools.jar 파일이 없으면 다음 메시지가 표시될 수 있습니다.
tools.jar을 찾을 수 없습니다. F:\jre\1.4.2\lib\tools.jar에 있을 가능성이 있습니다.
tools.jar은 Ant 배치 도구의 파트가 아니라 JRE(Java Runtime Environment)의 파트입니다.
tools.jar은 Ant 스크립트 실행에 필요하지 않으며 현재는 이 메시지를 무시해도 됩니다.. 스토어드 프로시저 편집기에서 Java 메소드 이름을 변경할 때, 편집기 소스 페이지에서 마우스 오른쪽 단추를 클릭한 후 저장을 선택하여 프로시저를 제대로 저장할 수 없습니다. 이 문제점을 해결하려면, 파일->저장을 클릭하고 Ctrl+S 누르거나 저장 아이콘을 클릭하여 스토어드 프로시저를 저장하십시오.
. 서로 다른 서버 간에 스토어드 프로시저 또는 UDF를 끌어서 놓을 경우(예: Linux, UNIX 및 Windows 서버용 DB2 UDB에서 z/OS(R) 서버용 DB2 UDB로) 끌어서 놓기 조작을 수행하는 동안 두 서버 간의 특정 비호환성에 대한 경고가 표시됩니다. 조작을 계속 수행한 후 스토어드 프로시저 또는 UDF를 열 경우 오류가 표시될 수 있습니다.
SQL 프로시저 프로파일링:
. Linux, UNIX 및 Windows V8.2 서버용 DB2 UDB에 대한 SQL 프로파일링을 실행하면서버에 JCC 드라이버로 오류 메시지 텍스트를 검색하는 데 필요한 스토어드 프로시저(SYSIBM.SQLCAMESSAGECCSID)가 누락되어있는 경우 널(null) 포인터 예외가 발생할 수 있습니다. retrieveMessagesFromServerOnGetMessage=true 설정 없이 서버에 대한 연결을 작성해 이 문제를 해결할 수 있습니다.. SQL 프로시저 실행 모니터링 중에 프로시저에서 발행되는 DML 명령문(예: INSERT, SELECT, DELETE 및 UPDATE)에 필요한 이벤트가 생성됩니다. 하지만 이벤트는 프로시저의 명령문(예: 변수 지정) 및 제어 구조(예: WHILE 또는 IF)의 결정 방식으로 생성되지 않습니다.
스토어드 프로시저 디버거:
. UNIX DB2 서버에 연결되면 중단점을 추가하거나 디버그 모드에서 실행할 때 제한시간 초과 예외가 발생할 수 있습니다.. 디버거는 이름에 영어와 중국어 문자 모두가 포함된 스토어드 프로시저에서 실행되지 않습니다.
. 감시 표현식은 Java 스토어드 프로시저에만 지원됩니다. SQL 및 SQLJ 스토어드 프로시저에는 지원되지 않습니다.
. 디버거는 실행문(예: SET)의 첫 번째 토큰에 있지 않는 경우 중단점에서 중지되지 않습니다. DECLARE CONTINUE, CLOSE CURSOR 또는 ROLLBACK에서도 중지되지 않습니다.
. Java 스토어드 프로시저를 디버깅 중이고 종료 조치를 선택하는 경우 디버그 세션을 완전히 종료하는 데 몇 분이 걸리기도 합니다. 디버그 종료 중에 새 디버그 세션이 시작되면 잘못 작동할 수 있습니다.
. 두 번째 Java 스토어드 프로시저라고 하는 Java 스토어드 프로시저를 디버깅 중이면 두 번째 스토어드 프로시저를 디버그할 수 없습니다. 중첩된 스토어드 프로시저를 한 단계씩 실행할 수 없으며 중첩된 스토어드 프로시저에 설정한 모든 중단점이 무시됩니다. 이 제한사항은 Linux, UNIX 및 Windows용 DB2 UDB에 해당합니다.
. Java 스토어드 프로시저 디버깅 중에 '패킷 대기 중 제한시간 초과' 오류가 발생하면 Java 제한시간을 늘리십시오. Java 제한시간 설정을 늘이려면 Workbench 메뉴 표시줄에서 창 > 환경 설정을 클릭하십시오. Java 노드를 펼치고 디버그를 클릭하십시오. 디버그 환경 설정 페이지에서 통신 제한시간 섹션의 디버거 제한시간(ms) 값을 증가시키십시오. 적어도 기본값의 두 배 이상 늘리는 것이 좋습니다.
. Java 스토어드 프로시저를 디버깅하는 경우, 값 변경 조치를 사용하여 문자열 값이 비어 있는 변수를 수정하면 편집 대화 상자의 확인 단추가 사용 불가능해질 수 있습니다. 단추를 사용 가능하게 하려면 평가 입력 단일 선택 단추를 선택하고 이 값을 비어 있지 않은 문자열(예: 'a')로 설정한 다음 리터럴 텍스트 입력 단일 선택 단추를 선택하십시오. 그러면 확인 단추가 사용 가능해집니다.
. Java 스토어드 프로시저를 디버깅 중에 로컬 변수를 찾을 수 없는 경우 스토어드 프로시저가 -g 컴파일러 옵션 없이 배치되었을 가능성이 있습니다. Java 스토어드 프로시저 배치 시 -g 컴파일러 옵션을 지정하십시오.
. 변수 보기에 '올바르지 않은 스택 프레임' 메시지가 표시된 경우 디버그 보기로 이동하여 스택 프레임 위의 스레드 오브젝트를 클릭한 다음 스택 프레임을 클릭하십시오. 이렇게 하면 변수 보기가 새로 고쳐지고 오류가 더 이상 발생하지 않습니다.
. iSeries V5 R4용 DB2 UDB에서 실행 SQLJ 스토어드 프로시저를 디버그하는 중에 Java 소스 대신 SQLJ 소스와 일치하는 라인맵을 갱신하는 iSeries PTF를 적용하지 않는 경우 실행 중인 현재 행이 디버그 보기에 표시된 SQLJ 소스행과 일치하지 않습니다.
. 세션 관리자 제한시간에 필요한 디버거 환경 설정이 인식되지 않습니다. 이러한 환경 설정은 다음과 같이 설정됩니다. 창 > 환경 설정을 클릭하고, 실행/디버그 노드를 펼친 후 DB2 스토어드 프로시저 디버거를 클릭하시시오. 세션 관리자 제한시간(분) 필드를 수정하십시오.
. 디버거에서는 Linux, UNIX, Windows용 DB2에 많은 변수가 있는 스토어드 프로시저를 처리할 수 없습니다. 변수의 최대 수는 200입니다.
. 디버그 세션에서 커서 이동: 일부 경우, 프로시저에 변수 선언이 두 개 이상 있을 때 다음 행으로 이동하려면 Step Into 또는 Step Over를 두 번 이상 클릭해야 합니다. 예를 들어, DECLARE v_dept, v_actdept CHAR(3) 행을 두 번 클릭하고 DECLARE v_bonus, v_deptbonus, v_newbonus DECIMAL(9,2) 행을 세 번 클릭해야 합니다. 변수 선언의 수와 같은 횟수로 클릭해야 합니다.
. Java 스토어드 프로시저의 디버그 세션을 시작하고 중단점을 추가한 후 중단점을 사용하지 않는 경우에도 중단점은 여전히 사용 가능합니다. 이 문제를 해결하려면 새 디버그 세션을 시작할 때 먼저 이전 중단점을 모두 제거한 후 새 중단점을 추가해야 합니다.
. 다중 데이터 개발 프로젝트 작업 시 경우에 따라 스토어드 프로시저를 디버그할 때 "스토어드 프로시저 PROCNAME을 찾을 수 없습니다. 프로시저가 작업공간에서 삭제되었을 수 있습니다." 또는 "소스를 찾을 수 없습니다."라는 오류 메시지가 나타나기도 합니다.
. Java 스토어드 프로시저의 디버그 세션을 종료한 후 바로 SQL 스토어드 프로시저를 디버그하고 있는 경우, 디버거가 "사용자 정의 함수...가 사용자에 의해 인터럽트되었습니다"와 같은 메시지를 표시할 수 있습니다. 이 문제점을 해결하려면, SQL 스토어드 프로시저를 다시 디버그하십시오.
데이터 코어 기능:
. ALIAS, MQT, NICKNAME 및 SYNONYM이 이제 왕복 엔지니어링 중에 지원되지만 EJB 맵핑 프로세스에서는 지원되지 않습니다.
. MySQL 4.1에 대한 제한적인 지원: 특성 보기에 특성(고유한 색인, 자동 열 증가, 널(null) 및 2진의 열 기본값)이 올바르게 표시되지 않습니다. 또한, C 프로시저 및 함수가 지원되지 않습니다.. Cloudscape(TM) v5.1에 대해 트리거, 검사 제한조건 및 보기가 지원되지 않습니다. 데이터베이스 탐색기에 Cloudscape v5.1 트리거 및 검사 제한조건이 표시되지 않습니다. Cloudscape v5.1 보기가 특성 보기의 SQL 본문에서 누락되었습니다. DDL을 생성하거나 엔지니어 Cloudscape v5.1 트리거를 되돌릴 수 없으면 제한조건 또는 보기를 검사하십시오.