1. 程式人生 > >sqlplus呼叫sql指令碼執行時報錯SP2-0734: unknown command beginning的解決方法

sqlplus呼叫sql指令碼執行時報錯SP2-0734: unknown command beginning的解決方法

今天在用SHELL指令碼調sql檔案執行sql語句的時候,發現語句中某個欄位為lua表示式的結構,該結構在插入時會導致報錯如下,並且插入失敗:

SP2-0734: unknown command beginning "local mBas..." - rest of line ignored.
SP2-0734: unknown command beginning "local mPro..." - rest of line ignored.
SP2-0734: unknown command beginning "function i..." - rest of line ignored.
SP2-0734: unknown command beginning "if (_inP1=..." - rest of line ignored.
SP2-0044: For a list of known commands enter HELP
and to leave enter EXIT.
SP2-0734: unknown command beginning "return _in..." - rest of line ignored.
SP2-0042: unknown command "else" - rest of line ignored.
SP2-0734: unknown command beginning "return _in..." - rest of line ignored.
SP2-0042: unknown command "end" - rest of line ignored.
SP2-0044: For a list of known commands enter HELP
and to leave enter EXIT.
SP2-0042: unknown command "end" - rest of line ignored.
SP2-0734: unknown command beginning "function t..." - rest of line ignored.
SP2-0734: unknown command beginning "if ( _inP4..." - rest of line ignored.
SP2-0734: unknown command beginning "return _in..." - rest of line ignored.
SP2-0044: For a list of known commands enter HELP
and to leave enter EXIT.
SP2-0042: unknown command "else" - rest of line ignored.
SP2-0734: unknown command beginning "return _in..." - rest of line ignored.
SP2-0042: unknown command "end" - rest of line ignored.
SP2-0042: unknown command "end" - rest of line ignored.
SP2-0044: For a list of known commands enter HELP
and to leave enter EXIT.
SP2-0734: unknown command beginning "local mPro..." - rest of line ignored.
SP2-0734: unknown command beginning "function g..." - rest of line ignored.
SP2-0734: unknown command beginning "if mstart_..." - rest of line ignored.
SP2-0734: unknown command beginning "return mPr..." - rest of line ignored.
SP2-0044: For a list of known commands enter HELP

解決辦法:

1、將sql檔案的語句中的所有中文註釋改為英文註釋;

2、sql檔案開頭使用set sqlblanklines on,這是因為有空行導致sql語句載入到機器記憶體中截斷了。