标识符必须声明为ORA-06550和PLS-00201

 气质未央若 发布于 2022-12-07 12:01

我有两个数据库;一个在本地服务器中;

Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
PL/SQL Release 11.1.0.7.0 - Production
"CORE   11.1.0.7.0  Production"
TNS for 64-bit Windows: Version 11.1.0.7.0 - Production
NLSRTL Version 11.1.0.7.0 - Production

另一个是VM:

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 Linux: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production

这些服务器的其他所有内容都是相同的。我是两台服务器的DBA。所有表和存储过程都可以在两个数据库中正常工作,但是当Asp.net尝试连接到它时,一个存储过程无法正常工作。

当我运行连接到VM数据库的Asp.net应用程序时,出现以下错误,告诉我必须声明存储过程:

Message: Sys.WebForms.PageRequestManagerServerErrorException: ORA-06550: line 1, column 7: PLS-00201: identifier 'GETINFO' must be declared ORA-06550: line 1, column 7: PL/SQL: Statement ignored

我打开SQL Developer并在VM数据库上调试该过程,然后得到所需的值。如果我尝试获取特定的存储过程,它只会在.Net应用程序中发生。其他所有存储过程,其他所有东西都可以正常工作。

我为解决此问题所做的工作;

    更改了程序名称(勤工俭学)

    检查了架构以确保所有表和存储过程都属于正确的用户(它们确实属于正确的用户)

    即使该用户创建了存储过程,我仍授予该用户访问权限。

    我删除并重新创建了存储过程

    我用Myuser.storedprocedure名字记号没用

我不了解的是,完全相同的代码在本地网络上运行,而且我可以通过Oracle SQL Developer调试存储过程。

我可以在这里共享存储的产品,但是它确实非常长。

我怎样才能解决这个问题?

1 个回答
  • 由于执行存储过程的权限不足,您将收到此错误。尝试在用户级别授予权限(用户级别表示您通过哪种凭据连接到数据库。请检入配置文件)。

    我有同样的问题。我在Oracle DB中创建了一个存储过程。我执行了,编译成功。但是,它在运行时出现问题。在用户级别授予存储过程的权限后,该问题已完全解决。

    运行时异常ORA-06550:第1行,第7列:
    PLS-00201:必须声明标识符“ Package.StoredProcedure”
    ORA-06550:第1行,第7列:PL / SQL:语句被忽略

    2022-12-11 02:07 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有