空包<package name =“”>定义(无公开成员)

时间:2015-09-15 07:57:46

标签: oracle oracle11g oracle-sqldeveloper

我在尝试运行或调试Oracle SQL Developer不显示没有输入参数的公共成员(过程)的程序包时遇到问题。

有几个过程,一些重载,但Oracle SQL Developer不显示任何可调用的成员。

enter image description here

我尝试使用以下版本的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

有没有人成功解决过类似的情况? (升级数据库不是一个选项)

4 个答案:

答案 0 :(得分:3)

我发现了可能导致无公共成员问题的2个可能原因

1)SQL Developer本身就遇到了一些错误。   这可以通过完全关闭并重新启动SQL开发人员来解决

2)代码中使用的一些关键字(例如SQL语句中的字段名称)在编译执行中工作正常,但会破坏功能列表的显示。

我通过对使用名为“CASE”的字段的整个软件包应用双引号来解决我的问题。

即。 SELECT table1.case FROM table1

更改为

SELECT table1。“CASE”FROM table1

亚历

答案 1 :(得分:3)

有点晚了,但我可以帮忙。有一个SqlDeveloper错误。我要做的是在编译之前“保存”它......

希望有所帮助

答案 2 :(得分:1)

绝对迟到了,但遇到了同样的问题&amp;想发布什么帮助我。

proc包含在属于另一个用户的包中    &安培; 没有为调用proc的用户提供授权。

完成拨款时可以使用。

答案 3 :(得分:-4)

我建议保存存储过程然后编译。在某些情况下,保存过程后,表将自动编译。但是,每次进行更改时都必须保存。

我希望这可以帮助你。