神秘的ORA-06553:PLS-103

时间:2015-12-03 09:20:50

标签: plsql

我在处理PLSQL包时遇到了一个非常奇怪的问题。

我们在两个环境PRODUCTION和TEST中拥有相同的包装和主体。关于PRODUCTION的那个编译没有任何问题,但在TEST上它会抛出此错误

Error: 
ORA-06553: PLS-103: Encountered the symbol "ALTERNATIV_NAME" when expecting one of the following:
     <an identifier> <a double-quoted delimited-identifier> 
ORA-06553: PLS-112: end-of-line in quoted identifier".

我已经将相同的包结构从PRODUCTION复制到TEST数据库,但我仍然得到相同的结果。身体抛出了上述错误。

我无法理解&#39; ALTERNATIV_NAME&#39;,非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

错误是语法错误。源代码中存在一些破坏编译的东西。错误消息应包含行号,这些行号将指向您要查看的位置。

表格中的问题&#39;我的代码在环境A中运行,但在环境B&#39;我们几乎不可能回答。即使您发布了代码,我们仍然无法获得帮助,因为最可能的原因是两种环境之间存在差异,显然我们无法访问它们。

好消息是,您可以访问您的两个环境,因此您可以找出两者之间的不同之处。例如,一个可能的解释是脚本中的非打印字符在一个环境中被忽略,但在另一个环境中出现,因为它们位于不同的操作系统上。

顺便说一句,这表明您的部署过程存在问题。你不应该在PRODUCTION中有任何在TEST中没有成功运行的东西。

答案 1 :(得分:0)

我知道已经晚了,但也许可以帮助某人。

我遇到了同样的问题,似乎在 PL/SQL 代码中,我引用了一个列

在视图中,

当我在 sql developer editor 中浏览视图时,列名跨越两行!!!...

把它放在一行解决了我的问题。