저장 프로시저 및 사용자 정의 함수에 대한 실행하기 전에 다시 빌드 환경 설정이 작동하지 않습니다. 이 환경 설정은 환경 설정 창의 프로세스 페이지에서 다음과 같이 설정할 수 있습니다. Windows -> 환경 설정을 눌러 환경 설정 창을 열고 데이터와 DB2 저장 프로시저 및 UDF 빌더 노드를 펼친 후 프로세스 노드를 누르십시오. 이 문제를 해결하려면, 마지막 빌드 이후로 변경사항을 수행한 경우 실행하기 전에 저장 프로시저 및 사용자 정의 함수를 수동으로 빌드해야 합니다.
루틴 내보내기 마법사에서 DROP 문 포함 옵션을 사용하여 내보낸 특정 테이블 UDF를 전개할 경우, SQLSTATE -458 오류 메시지가 표시될 수 있습니다. 이는 생성된 DROP FUNCTION 문에 오류가 있기 때문입니다. 예를 들어, 다음이 UDF 소스일 경우,
CREATE FUNCTION USERID.BABELFISH ( TRANSLATIONMODE VARCHAR(100), SOURCEDATA VARCHAR(100) )
DROP FUNCTION 문은 다음과 같이 생성됩니다.
DROP FUNCTION USERID.BABELFISH ()
이 문제를 해결하려면, DROP FUNCTION 문 끝에 있는 괄호를 제거하십시오.
LOB 데이터 유형의 리턴 매개변수가 있는 사용자 정의 함수를 로컬 데이터베이스에 대해 전개 또는 실행할 경우 실패할 수 있습니다. 이는 리턴되는 LOB 매개변수에 길이가 지정되지 않을 경우에 발생합니다. 예를 들면, 다음과 같습니다.
CREATE FUNCTION USERID.COLCLOB () RETURNS clob
이 문제를 해결하려면, 리턴되는 LOB 매개변수의 길이를 지정해야 합니다. 예를 들면, 다음과 같습니다.
CREATE FUNCTION USERID.COLCLOB () RETURNS clob(5k)
소스를 전개하지 않고 DB2 Java 저장 프로시저를 데이터베이스에 전개할 경우(루틴 전개 마법사 옵션 페이지에서 소스를 사용한 전개를 선택하지 않음), Workbench를 사용하여 데이터베이스에서 저장 프로시저를 삭제할 수 없습니다. 이 문제를 해결하기 위해, DB2 명령행 프로세서(CLP)에서 DROP PROCEDURE 명령을 실행하거나 DB2 Control Center를 사용하여 저장 프로시저를 삭제할 수 있습니다. 설치된 jar을 제거하기 위해 CALL SQLJ.REMOVE_JAR 명령을 실행해야 할 수도 있습니다.
다음 시나리오에서, 데이터베이스 연결 마법사나 페이지의 클래스 위치 필드는 자동으로 채워지지 않습니다.
- WAS(WebSphere Application Server)를 설치하지 말고 Workbench를 설치하십시오. WAS를 설치하십시오.
- Workbench를 시작하십시오.
- Cloudscape™ 데이터베이스에 대한 연결을 작성하십시오(데이터 Perspective의 데이터베이스 탐색기 보기에서 마우스 오른쪽 단추를 누르고 새 연결을 선택하거나 또는 다른 마법사의 데이터베이스 연결 페이지 사용).
이 문제를 해결하려면, 수동으로 클래스 위치 필드를 채우거나, Workbench를 다시 시작하고 연결을 다시 작성하십시오. Workbench를 다시 시작하면 클래스 위치 필드가 자동으로 채워집니다.