编译或删除 Oracle 包时遇到问题
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/1492437/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Trouble compiling or dropping an Oracle package
提问by Ariod
I was trying to compile a PL/SQL package and I got the following error:
我试图编译一个 PL/SQL 包,但出现以下错误:
ORA-04043: object SYS_PLSQL_77721_489_1 does not exist
After this, I can no longer recompile or drop the package.
在此之后,我无法再重新编译或删除包。
Do you have any suggestions?
你有什么建议吗?
采纳答案by Vincent Malgrat
回答by FerranB
Try to do this:
尝试这样做:
DROP TYPE SYS_PLSQL_77721_489_1;
DROP TYPE SYS_PLSQL_77721_DUMMY_1;
DROP PACKAGE BODY xxxx;
DROP PACKAGE xxx;
I've had exactly the same problem and works. Sorry @Vicent but the link you provide does not solve the problem.
我遇到了完全相同的问题并且有效。抱歉@Vicent,但您提供的链接不能解决问题。
回答by APC
One confirmed cause of this problem is the use of pipelined functions with PL/SQL types. It is a bug, and so ought to fixed in more recent or fully patched versions of Oracle. A workaround would be to use SQL types instead (i.e. create type whatever as object ...
).
此问题的一个确认原因是使用具有 PL/SQL 类型的流水线函数。这是一个错误,因此应该在更新或完整修补的 Oracle 版本中修复。一种解决方法是改用 SQL 类型(即create type whatever as object ...
)。
If this does not apply in your situation please edit your question to include more details.
如果这不适用于您的情况,请编辑您的问题以包含更多详细信息。
回答by Daniel Martinho Bisleri
create or replace type SYS_PLSQL_77721_489_1 as object
创建或替换类型 SYS_PLSQL_77721_489_1 作为对象
for all erros when you drop
当你跌倒时,所有的错误
try drop again and again and create type for all erros...
一次又一次地尝试删除并为所有错误创建类型...