如何写入除UTL_FILE之外的文件

时间:2016-07-01 06:09:38

标签: oracle oracle-sqldeveloper utl-file

我编写了一个程序,使用utl_file将文件写入目录。

示例脚本:

.contact{
        color: #edf2d4;
    background: #a2c635;
            background: -moz-linear-gradient(left, #a2c635 0%, #d3db6b 100%);
    background: -webkit-gradient(linear, left top, right top, color-stop(0%,#a2c635), color-stop(100%,#d3db6b));
    background: -webkit-linear-gradient(left, #a2c635 0%,#d3db6b 100%);
    background: -o-linear-gradient(left, #a2c635 0%,#d3db6b 100%);
    background: -ms-linear-gradient(left, #a2c635 0%,#d3db6b 100%);
    background: linear-gradient(left, #a2c635 0%,#d3db6b 100%);
    vertical-align: middle;
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a2c635', endColorstr='#d3db6b',GradientType=1 );
}

现在我的服务器不是数据库服务器,因为我不能使用UTL_FILE。 你是否可以用UTL_FILE写入文件?

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

为什么不使用sqlplus?使用一些SET命令创建一个包含SQL的简单.sql文件(my_script.sql),如:

SET FEEDBACK OFF;
SET ECHO OFF;
SET TERM OFF;
SET serveroutput on size unlimited;
SET linesize 30000
SET pagesize 0
SET head off
SET trims on
SET verify off

WHENEVER SQLERROR EXIT SQL.SQLCODE
SPOOL my_file.csv;

select 
'MY_NUMBER_FIELD1,'||
'MY_VARCHAR_FIELD2,'||
'MY_VARCHAR_FIELD3'
from dual
UNION ALL
select
COL1||','||
'"'||replace(COL2, '"','""')||'",'||
'"'||replace(COL3, '"','""')||'"'
from MY_TABLE
/

根据需要修改SQL。将sql文件放在您选择的服务器上的目录中,使用sqlplus从该目录登录Oracle,然后运行:

@ my_script.sql

输出文件(my_file.csv)将位于您登录的目录中。 sqlplus登录脚本也可用于自动化(与cron或任务调度程序或其他调度软件一起)。