错误(357,1):PLS-00201:必须声明标识符“DBMS_OUTPUT.PUT_LINE”
Posted
技术标签:
【中文标题】错误(357,1):PLS-00201:必须声明标识符“DBMS_OUTPUT.PUT_LINE”【英文标题】:Error(357,1): PLS-00201: identifier 'DBMS_OUTPUT.PUT_LINE' must be declared 【发布时间】:2014-11-13 11:26:34 【问题描述】:我正在编写返回输出的简单 Oracle 函数。我在这一行有一个错误:
DBMS_OUTPUT.PUT_LINE(LINE);
Error(357,1): PLS-00201: identifier 'DBMS_OUTPUT.PUT_LINE' must be declared
看起来我没有尝试将所有权限授予我正在使用的用户。
你能给我一些建议如何解决这个问题吗?
【问题讨论】:
将 DBMS_OUTPUT 上的执行权限授予用户名;LINE
的类型是什么?你能显示更多代码吗?
声明为LINE CLOB;
我现在无法在我的系统上尝试。尝试输出VARCHAR2
值。我记得,如果类型错误,肯定会出现另一个错误,但我不确定。
它会隐式地将 CLOB 转换为 varchar2
,只要它不太大 (as here);但如果是,你会得到一个不同的错误,是的。无效的标识符意味着它不理解dbms_output
,而不是该包中的过程有问题。因此,似乎是周围的代码导致了错误或权限问题;不过失去特权是不寻常的。
【参考方案1】:
名称“DBMS_OUTPUT”中有非 ANSI 字母。根据你的名字,我赌的是俄语字母“ВМОТР”。
【讨论】:
如果他复制粘贴了邮件,那么这些字母就可以了,我已经检查过了以上是关于错误(357,1):PLS-00201:必须声明标识符“DBMS_OUTPUT.PUT_LINE”的主要内容,如果未能解决你的问题,请参考以下文章
PL SQL,错误(32,43):PLS-00201:必须声明标识符“HR”
Oracle TYPE 声明抛出错误 PLS-00201 - 必须声明标识符