Oracle
在 pl/sql 中使用不同的 Windows 帳戶
是否可以在 pl/sql. 例如,我想寫入只有特定帳戶有權訪問的文件夾中的文件。這是我的意思的一個例子:
Other code... LOG_IN_OTHER_USER('SPECIALUSER', 'SECRETPASSWORD'); UTL_FILE.PUT_LINE(OutputFile,the_outfile); UTL_FILE.FFLUSH(OutputFile); LOG_OFF_OTHER_USER('SPECIALUSER'); Other code...
假設 11g。有幾種方法可以做到這一點。最簡單的方法是將 Oracle 作業調度程序與遠端作業代理一起使用。該代理可以使用合格作業系統帳戶的憑據執行。您可以執行從數據庫中選擇數據並將其假離線到所需輸出目錄的作業。
您還可以將文件複製到遠端作業代理。這與您描述的程式碼流最接近。有關文件和範例,請參閱我寫的關於 Oracle 調度程序的書。
無法直接在 pl/sql 中切換作業系統帳戶,因為無論您在數據庫中做什麼,您都在使用 Oracle 數據庫實例的憑據。Oracle Remote Job Agent 可以使用自己的憑據,並且可以使用 dbms_scheduler 包從 pl/sql 中訪問。