2015-04-07 71 views
-1

我試圖通過pl sql運行linux命令,但是我收到了錯誤消息。以下是我運行的內容:在pl中執行cp -r sql

declare 
    uc varchar2(200); 
    upsql varchar2(200); 
begin 
    FOR i IN (select * from cn_check) LOOP 
    uc := 'cp -r /u1/vasex/new_invoices/pdf' || TRIM(i.path_) || 
       TRIM(i.bpl_file_name) || '/u1/vasex/new_invoices/ctunda/' || 
       TRIM(i.description_); 
    uc := TRIM(uc); 
    upsql := 'vxview_exec.osexec(''' || uc || ''')'; 
    upsql := TRIM(upsql); 
    EXECUTE IMMEDIATE upsql; 
    COMMIT; 
    END LOOP; 
end; 
+1

你會得到什麼錯誤消息。這可能對我們很有幫助。 – RiggsFolly

回答

1

EXECUTE IMMEDIATE允許您執行PL/SQL代碼,但不能執行OS命令。你需要使用OS_COMMAND包才能做到這一點。

有關OS_COMMAND的更多信息here