ORA-06550 和 PLS-00103
Posted
技术标签:
【中文标题】ORA-06550 和 PLS-00103【英文标题】:ORA-06550 and PLS-00103 【发布时间】:2010-11-24 19:39:12 【问题描述】:嗨,
我正在使用 UNIX 操作系统并使用 oracle。我收到以下错误消息
E ORA-06550: line 1, column 8:
PLS-00103: Encountered the symbol "" when expecting one of the following:
begin function package pragma procedure subtype type use
<an identifier> <a double-quoted delimited-identifier> form
current cursor
The symbol "" was ignored.
ORA-06550: line 2, column 27:
PLS-00103: Encountered the symbol "" when expecting one of the following:
begin function package pragma procedure subtype type use
<an identifier> <a double-quoted delimited-identifier>
在谷歌上搜索,我发现 “问题似乎与换行符上的 Windows CRLF 字符有关。Oracle 不会将此视为空白,而是将其视为空字符串。为了解决此问题,请将 CRLF 字符转换为 LF 字符,Oracle 应该开心点。”
有人知道为什么它会在 UNIX/ksh shell 中发生吗?
【问题讨论】:
您运行的脚本是在 Windows 系统上创建的吗? 就像 JOTN 建议的那样,我最好的猜测是这个脚本是在 Windows 系统上创建的,并以二进制模式传输到 UNIX(这将保存 CRLF 作为行终止符,而不是仅转换为 LF)。 请建议如何克服这个问题 在许多 Unix 系统上寻找一个名为“dos2unix”的命令。它会为您转换该文件。 我不认为 Windows CRLF 会导致这个问题,至少在过去 15 年多的时间里我从未遇到过。许多人在 Windows 机器上编写脚本并在 Unix 上运行它们。 【参考方案1】:正如@JOTN 所说,dos2unix 命令是您的朋友。应该调用类似
dos2unix the_file_you_want_converted > another_file_to_hold_the_unix_version
分享和享受。
【讨论】:
以上是关于ORA-06550 和 PLS-00103的主要内容,如果未能解决你的问题,请参考以下文章
ORA-06550、PLS-00103、ORA-06512 函数
无法解决 ora-06550 pls-00103 查询中的错误
oracle - PLS-00103 & ORA -06550 关于程序
ORA-06550 第 10 行,第 41 列:PLS-00103:在预期以下情况之一时遇到符号“,”: