从批处理文件启动PL / SQL脚本(带参数)

时间:2013-12-10 13:50:33

标签: batch-file plsql

我很勉强从Windows .bat文件传递PL / SQL脚本的参数。

以下是批处理文件的内容:

@echo off
set mName = "test"
exit | sqlplus <connection_string> @test.sql %mName%
pause

以下是test.sql的内容:

set verify off
set serveroutput on size unlimited
BEGIN
  DBMS_OUTPUT.PUT_LINE('&&1');
END;
/

我希望在shell中看到“test”,但我得到以下消息:

Enter value for 1:
SP2-0546: User requested Interrupt or EOF detected.

有没有人能解决这个问题?

1 个答案:

答案 0 :(得分:3)

删除=符号周围的空格。这是我的工作批处理文件:

@echo off
set mName="test"
exit | sqlplus <connection_string> @test.sql %mName%
pause

另请注意,您可以使用sqlplus上的-L选项进行批处理作业:

  

-L尝试只登录一次,而不是在错误时重新登录。