【问题标题】:Write to a file in PL/SQL without spools or utl_file在没有假脱机或 utl_file 的 PL/SQL 中写入文件
【发布时间】:2015-06-18 20:23:56
【问题描述】:

尝试通过过程创建输出文件,但无法修改 init.ora 以允许 utl_file_dir 或创建目录。有没有另一种方法可以在不创建表格并进行简单线轴的情况下完成此操作,不幸的是,这也是不可能的。

【问题讨论】:

    标签: sql plsql sqlplus spool utl-file


    【解决方案1】:

    没有。您需要访问 init.ora 才能通过 Oracle 以很好的方式完成这项工作。

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

    【讨论】:

    【解决方案2】:

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

    spool <filename you want>
    

    然后

    spool off 
    

    关闭文件并停止写入。

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

    您确实应该有权访问文件系统上的目录。与 dba 交谈,如果有业务需求,您应该能够实现。

    【讨论】:

    • OP 说他不能使用 spool。
    • OP 需要与他的 dba 交谈 - 总而言之,他无法更改环境的任何内容,也无法通过客户端运行 sqlplus。他到底能做什么!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-28
    • 1970-01-01
    • 1970-01-01
    • 2012-07-30
    • 1970-01-01
    • 2015-09-07
    • 1970-01-01
    相关资源
    最近更新 更多