快速解决 Error 45 initializing SQL*Plus 错误

最近,经常碰到使用sqlplus在后台运行sql脚本的情况,于是就遭遇了 Error 45 initializing SQL*Plus错误.

 

我运行的PL/SQL 文件 test.sql 如下

set serveroutput on;
set timing on;
DECLARE

BEGIN
  dbms_output.put_line(TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS'));
END;

该SQL文件所运行的Home folder所在磁盘的文件系统为 ext4. 关于文件类型,可以通过查看 /etc/fstab 文件确认.


后台运行sql 文件的命令如下

nohup sqlplus iqm_blk/welcome1@IQMDEV @test.sql > test.out 2>&1 &


我这里总结一下错误的主要原因

  •   test.sql 文件END;后不能有空行
  •   test.sql文件END;后,需要加入 /
  •   需要在/后加入exit; 命令. 当加入了exit; 后, 空行是没问题的.

能正确执行的脚本如下

set serveroutput on;
set timing on;
DECLARE

BEGIN
  dbms_output.put_line(TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS'));
END;
/
exit;

希望对大家有帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值