빈 패키지 정의(공용 구성원 없음)
Oracle SQL Developer가 입력 매개 변수가 없는 공용 구성원(프로시저)을 표시하지 않는 패키지를 실행하거나 디버그하려고 할 때 문제가 발생합니다.
몇 가지 프로시저가 있고 일부 오버로드가 있지만 Oracle SQL Developer에는 호출 가능한 멤버가 표시되지 않습니다.
다음 버전의 Oracle SQL Developer를 사용해 보았습니다.
- 4.1.1.19 이 버전이 문제를 해결했다는 기사 링크 하지만 그렇지 않았습니다.
- 4.0.3.16 - 동일한 거동
- 4.0.0.13 - 동일한 동작
- 3.2.20.09 - 이 버전은 실제로 호출할 수 없는 멤버를 표시했지만 디버거는 작동하지 않습니다.
Oracle 버전입니다.
select * from v$version;
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
"CORE 11.2.0.4.0 Production"
TNS for IBM/AIX RISC System/6000: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production
비슷한 상황을 성공적으로 해결한 사람이 있습니까? (데이터베이스 업그레이드는 옵션 atm이 아닙니다.)
좀 늦었지만 도와줄 수는 있었습니다.SqlDeveloper 버그가 있습니다.제가 해야 할 일은 컴파일하기 전에 저장하는 것입니다.
도움이 되길 바랍니다.
공공 구성원이 아닌 문제를 일으킬 수 있는 2가지 가능한 원인을 찾았습니다.
1) SQL 개발자는 일종의 버그 자체를 쳤습니다.SQL 개발자를 완전히 닫고 다시 시작하면 이 문제를 해결할 수 있습니다.
2) 코드에 사용된 일부 키워드(예: SQL 문의 필드 이름)는 컴파일된 실행에서는 잘 작동하지만 함수 목록의 표시를 망칠 수 있습니다.
저는 "CASE"라는 필드가 사용되는 패키지 전체에 더블 견적을 적용하여 문제를 해결했습니다.
즉, 표 1에서 선택.case From Table 1
로 바꾸다
표 1을 선택합니다."표 1의 경우"
알렉스야.
확실히 늦었지만, 같은 문제를 발견하고 저에게 도움이 된 것을 게시하려고 생각했습니다.
프로시저가 다른 사용자에게 속한 패키지에 포함되어 있었고 프로시저를 호출하던 사용자에게 부여가 제공되지 않았습니다.
보조금 지급이 완료되면 작동합니다.
저장된 프로시저를 저장한 후 컴파일하는 것을 추천합니다.경우에 따라서는 절차를 저장한 후 테이블이 자동으로 컴파일됩니다.하지만 변화를 줄 때마다 저장해야 합니다.
이것이 당신에게 도움이 되길 바랍니다.
언급URL : https://stackoverflow.com/questions/32580687/empty-package-package-name-definition-no-public-members
'programing' 카테고리의 다른 글
| installing Oracle Instantclient on Mac OS/X without setting environment variables? (0) | 2023.10.26 |
|---|---|
| When to use const void*? (0) | 2023.10.26 |
| 실행 중인 도커 컨테이너의 IP 주소를 가져오는 방법 (0) | 2023.10.26 |
| mysql의 기본 'mysql' 데이터베이스를 복구/재생성하는 방법 (0) | 2023.10.26 |
| 엑셀 라이브러리로 엑셀 파일의 셀 스타일을 변경하려면 어떻게 해야 합니까? (0) | 2023.10.21 |
