7

我正在尝试运行从大量来源自动生成的脚本集合。不幸的是,其中一些已生成为带有 BOM 的 UTF-8。我有一个自动删除 BOM 的系统,但它的过程有点混乱。

未能删除 BOM 会生成错误:

SP2-0042: unknown command "" - rest of line ignored.

是否可以在具有 BOM 的脚本文件上运行 SQLPLUS?

4

2 回答 2

4

可以使用这样的脚本运行 SQLPLUS,但由于BOM,SQLPLUS 会在第一行指示错误。
可能你想问你是否可以避免这个错误 -这是不可能的,AFAIK。埃尔文也是这么想的。

您可以通过生成具有空第一行的文件来解决丢失任何信息的问题。然后你可以忽略这个错误。

于 2013-02-28T07:41:29.017 回答
3

这已经是 Oracle 6 年多以来一直存在的一个错误,但看起来他们对修复它并不感兴趣。

他们的“推荐解决方法”(文档 ID 788156.1第 C.6 节)是剥离 BOM 或使您的第一个脚本行成为注释,然后忽略此错误。

SP2-0042:未知命令“∩╗┐” - 忽略行的其余部分。

或者

SP2-0734:未知命令开头“-- Commen ...” - 忽略行的其余部分。

错误 13515585 详细信息(需要 OTN 登录):

Bug 13515585: ADD SUPPORT FOR THE UTF-8 BOM IN SQLPLUS
Bug Status: Internal (Oracle) Review 
Created: 19-Dec-2011 
Updated: 29-Sep-2015
于 2018-02-27T23:42:26.973 回答