我正在尝试运行一系列脚本,这些脚本是从许多来源自动生成的。不幸的是,其中一些以UTF-8带BOM的形式生成。我已经建立了一个用于自动删除BOM的系统,但这个过程有点混乱。
未能删除BOM会产生以下错误:
SP2-0042: unknown command "" - rest of line ignored.
可以在具有BOM的脚本文件上运行SQLPLUS吗?
我正在尝试运行一系列脚本,这些脚本是从许多来源自动生成的。不幸的是,其中一些以UTF-8带BOM的形式生成。我已经建立了一个用于自动删除BOM的系统,但这个过程有点混乱。
未能删除BOM会产生以下错误:
SP2-0042: unknown command "" - rest of line ignored.
可以在具有BOM的脚本文件上运行SQLPLUS吗?
这个问题已经向Oracle反馈了6年,但看起来他们对修复此问题并不感兴趣。
他们的“推荐解决方法”(文档编号 788156.1 第C.6节)是去掉BOM或将第一行脚本变成注释,然后忽略此错误。
SP2-0042: 未知命令 "∩╗┐" - 忽略该行其余内容。
或者
SP2-0734: 未知命令开头为“-- Commen...” - 忽略该行其余内容。
Bug 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