【问题标题】:Launch PL/SQL script from batch file (with arguments)从批处理文件启动 PL/SQL 脚本(带参数)
【发布时间】:2013-12-10 13:50:32
【问题描述】:

我正在努力将参数从 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 中,但相反,我收到以下消息:

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

有没有人可以解决这个问题?

【问题讨论】:

    标签: batch-file plsql


    【解决方案1】:

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

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

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

    -L 尝试仅登录一次,而不是在出错时重新提示。

    【讨论】:

    • 这到底是怎么回事,我自己永远不会找到这个......谢谢伙计!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-13
    • 1970-01-01
    • 2012-12-28
    相关资源
    最近更新 更多