在没有假脱机或 utl_file 的情况下写入 PL/SQL 中的文件

Write to a file in PL/SQL without spools or utl_file

正在尝试通过过程创建输出文件,但无法修改 init.ora 以允许 utl_file_dir 或创建目录。有没有另一种方法可以在不创建 table 和做一个简单的假脱机的情况下完成此操作,不幸的是,这也不是问题。

没有。您需要访问 init.ora 才能通过 Oracle 顺利完成这项工作。

我能想到的唯一其他选择是使用 Java 程序来写入文件。我找不到您需要设置的任何特殊要求才能使用它。阅读主题 here

如果您有权访问 sqlplus,则将 dbms_output.put_line 消息添加到代码中,并在 sqlplus 中添加 运行 消息。在 运行ning 之前键入:

spool <filename you want>

然后

spool off 

关闭文件并停止写入。

那个或使用 Java 都可以是一个选项,但您需要额外的权限才能访问文件系统并在 db 上编译 java 方法。

您真的应该被授予访问文件系统目录的权限。与 dba 交谈,如果有业务需求,您应该能够实现它。