Можно ли запустить сценарий SQLPLUS для файла, закодированного как UTF-8, с спецификацией

Я пытаюсь запустить набор сценариев, которые были автоматически созданы из большого количества источников. К сожалению, некоторые из них были созданы как UTF-8 со спецификацией. У меня есть система автоматического удаления спецификации, но это немного запутанный процесс.

Если не удалить спецификацию, возникает ошибка:

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

Можно ли запустить SQLPLUS для файла сценария, имеющего спецификацию?


person Philip Couling    schedule 25.05.2012    source источник
comment
Понятия не имею, но я бы начал с изучения настроек набора символов на стороне клиента, чтобы увидеть, отличается ли он от UTF-8. На самом деле, если бы это было автоматизировано, я бы оставил процесс удаления спецификации.   -  person Shannon Severance    schedule 25.05.2012


Ответы (2)


Можно запустить SQLPLUS с таким скриптом, но SQLPLUS укажет на ошибку в первой строке из-за спецификации.
Возможно, вы хотели спросить, можно ли избежать этой ошибки - это невозможно, AFAIK. Эрвин тоже так думает.

Вы можете обойти проблему, потеряв любую информацию, создав эти файлы с пустой первой строкой. Тогда вы можете просто проигнорировать эту ошибку.

person Peter Ivan    schedule 28.02.2013
comment
К сожалению, сценарий SQL используется как часть сценария KSH. Вывод ошибок из SQLPlus вызывает отключение сценария KSH. Тем не менее, спасибо за ответ. Это подтверждает необходимость снятия спецификации. - person Philip Couling; 28.02.2013

Это ошибка, открытая в Oracle уже более 6 лет, но не похоже, что они заинтересованы в ее исправлении.

Их «рекомендованное решение» (Doc ID 788156.1, раздел C. 6) состоит в том, чтобы удалить спецификацию или сделать вашу первую строку сценария комментарием, а затем игнорировать эту ошибку.

SP2-0042: неизвестная команда «∩╗┐» - остальная часть строки игнорируется.

Or

SP2-0734: неизвестное начало команды "- Комментарий ..." - остальная часть строки игнорируется.

Сведения об ошибке 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
person Amit Naidu    schedule 27.02.2018