[英]How to add a stored procedure to Oracle database?
通过SQL Developer,我向Oracle数据库添加了一个新的存储过程 。 它不仅在存储过程列表中列出(连同其他所有SP一样),而且我可以在SQL Developer上轻松执行它。
问题是我似乎无法从外部应用程序执行它。 数据库链接到它,我可以调用所有其他存储过程,但不能调用我刚刚创建的存储过程。 我收到的错误消息是:
ORA-06550:第1行,第7列:PLS-00201:必须声明标识符“ SETDATE” ORA-06550:第1行,第7列:PL / SQL:语句已忽略
我已经从其他有效的SP复制了访问和权限配置,但实际上并没有任何改变。
调试此类事情时的一件好事是:
SELECT owner, object_name, object_type
FROM all_objects
WHERE object_name IN( 'PROCEDURE_WHICH_WORKS', 'PROCEDURE_WHICH_DOESNT' )
如果SQL * Developer在错误的架构中创建了它,或者缺少一个同义词或类似的东西,这应该很明显。 如果全部相同,则需要查看可能缺少的GRANT EXECUTE权限。
您确定SQL * Developer和您的外部程序以完全相同的用户身份进行连接吗? 只是为了确保您可以
SELECT user FROM dual
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.