2013-12-10 130 views
1

我在爲從Windows .bat文件傳遞參數傳遞給PL/SQL腳本而苦苦掙扎。從批處理文件(帶參數)啓動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; 
/

我希望看到「測試」出現在外殼,但相反,我收到以下消息:

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

有沒有人有解決此問題的方法?

回答

3

刪除=標誌周圍的空格。這是我的工作的批處理文件:

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

另外請注意,您可以使用-L選項上sqlplus的批處理作業:

-L嘗試登錄只有一次,而不是對再次提示錯誤。

+0

到底是什麼,我永遠也找不到自己......謝謝你! – Backslash36