在 sqlplus 中执行脚本时出错,选项不是有效数字
Posted
技术标签:
【中文标题】在 sqlplus 中执行脚本时出错,选项不是有效数字【英文标题】:Error when executing script in sqlplus, option not a valid number 【发布时间】:2018-11-26 10:24:11 【问题描述】:我正在尝试在 sqlplus 中执行此命令,我已尝试将其放入 .sql 文件,还有 .txt 文件。
set linesize 400;
set pages 999;
spool odi_query.txt
declare
v_extract_date DATE;
begin
select extract_date into v_extract_date
from LORIK_UNIT.Toad_zhurnal;
LORIK_UNIT.lorik_utils.p_create_daily_partitions (v_extract_date );
end;
/
spool off
这是我执行后收到的错误:
SP2-0268: linesize option not a valid number
SP2-0268: pagesize option not a valid number
有谁知道是什么原因造成的?
【问题讨论】:
这对我来说没问题。请复制/粘贴整个 SQL*Plus 会话,以便我们了解您的具体操作以及 Oracle 的响应方式。除此之外,除非表 toad_zhurnal 包含一行,否则该选择将引发 TOO_MANY_ROWS(或者,可能是 NO_DATA_FOUND 错误)。 这可能是屏幕截图有用的极少数情况之一。 可能还想检查您的行尾是否与您运行它的环境匹配(unix/windows)。 【参考方案1】:似乎这段代码在每一行之后都有多余的空格,通过删除它们,现在它可以顺利执行了。
set linesize 400
set pages 999
spool odi_query.txt
declare
v_extract_date DATE;
begin
select extract_date into v_extract_date
from LORIK_UNIT.Toad_zhurnal;
LORIK_UNIT.lorik_utils.p_create_daily_partitions (v_extract_date );
end;
/
spool off
【讨论】:
【参考方案2】:删除行尾的分号;
。
【讨论】:
好的...然后,错误消息仍然应该提供提示。如果分号删除没有帮助,那么您的代码应该有一些其他隐藏字符,这些字符被解析为参数的一部分,即例如正如@kfinity 指出的那样,控制字符。正如其他人所说,为了更好地调查,请提供您所做的整个操作。 现在工作正常,我检查了空格,似乎每行后面都有一个空格。删除这些空格后,程序成功完成。以上是关于在 sqlplus 中执行脚本时出错,选项不是有效数字的主要内容,如果未能解决你的问题,请参考以下文章