错误(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 - 必须声明标识符

PLS-00201:必须声明标识符“TYPE”

错误(13,34):PLS-00201:必须声明标识符“D.BNDNG_TYP”

PLS-00201:标识符必须在过程中声明

在 PL/SQL 中出现错误“PLS-00201:必须声明标识符‘JSON_VALUE’”