2016-08-18 3 views
1

11g에서 12c로 코드를 이동하는 중입니다.패키지의 프로 시저를 실행할 수 없습니다.

의 오류를 반환, 내가 실행되지 않습니다 이동 한 패키지의 일부 "파일 기반 소스 [패키지 이름] 데이터베이스에 존재하지 않습니다. 은 컴파일이 되었습니까?"

패키지와 패키지 본문은 모두 정상적으로 컴파일되었고 디버그로 컴파일되었습니다. 어느 국가도 어떤 차이도 내지 않습니다.

select OBJECT_TYPE, STATUS from USER_OBJECTS where OBJECT_NAME = [Package Name]; 

반환 PACKAGE_BODY과 패키지 모두 유효한 상태를 실행

.

내가 옮긴 패키지 중 일부가 성공적으로 실행되었습니다. 일부는 그렇지 않습니다. 나는 붙어있다.

+0

이동 코드? 어떻게 지내니? SQLDeveloper의 'Database Copy'유틸리티를 사용하는 경우 새 인스턴스의 코드를 다시 검사하여 수동으로 COMPILE을 수행 할 수 있습니다. 이 문제가 나 자신이 있었으면이 방법으로 해결했습니다! –

+0

코드가 한 스키마에서 다른 스키마로 복사/붙여 넣기로 이동되었습니다. 코드의 양은 과도하지 않습니다 - 나는 이동할 4 개의 패키지가 있습니다. 두 사람은 일하고 두 사람은하지 않습니다. 모든 것이 수동으로 이동되고 컴파일되었습니다. – lightkeeper

답변

2

이 문제는 SQL Developer 3.0.04를 SQL Developer 4.1.3으로 업그레이드하여 수정되었습니다. 분명히 오래된 버전은 Oracle 12c에서 잘 작동하지 않습니다.

+0

오라클 11g에서 문제가 발생했습니다. –

0

lightkeeper 님의 조언이 좋았습니다. 제 경우에는 Windows 클라이언트 용 Oracle 12c를 설치했으며 함께 제공되는 sql 개발자는 3.x 버전이라고 생각합니다. 내 경우에는 3.x에서 1 proc을 빌드 한 다음 "file-base source ..."오류 메시지를 제공하기 시작했습니다. 일종의 SQL 개발자 4.x를 설치하는 고통의 종류지만, 내가 더 잘 했어. 패키지없이 독립 실행 형 procs를 빌드하는 경우에는 패키지에 대해 뭔가를 말한 sql developer 4.x에서도 오류가 발생합니다. 열쇠는 proc (기어 심볼)을 컴파일 한 다음 실행 (오른쪽 화살표)하는 것입니다. 몇 개의 procs를 갖기 위해 패키지를 가질 필요는 없습니다.

관련 문제