在 pl/sql 中使用不同的 Windows 帐户

kaz*_*aze 1 oracle windows plsql

是否可以在 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...
Run Code Online (Sandbox Code Playgroud)

小智 5

假设11克。有几种方法可以做到这一点。最简单的方法是将 Oracle Job Scheduler 与 Remote Job Agent 结合使用。该代理可以使用合格操作系统帐户的凭据运行。您可以运行一个作业,从数据库中选择数据并将其假脱机到所需的输出目录中。

您还可以将文件复制到远程作业代理。这最接近您描述的代码流。有关文档和示例,请参阅我写的有关 Oracle Scheduler 的书。

无法直接在 pl/sql 中切换操作系统帐户,因为无论您在数据库中做什么,您都在使用 Oracle 数据库实例的凭据。Oracle Remote Job Agent 可以使用自己的凭据,并且可以使用 dbms_scheduler 包从 pl/sql 中访问。