1 需要创建一个数据库的路径,指向操作系统。
大体上是这样:
在SUSE上建议一个文件夹/home/zxin10/file,然后对其chmod g+w file进行授权(否则无法导出到文件),再对您指定的路径(/home/zxin10/file)向Oracle的系统表sys.dir$进行注册(否则也是无法成功将信息导出到文件),操作完后可以查询sys.dir$可以看到表中的OS_PATH中有您指定的路径位置.
注册方式:执行SQL语句create or replace directory BBB as '/home/zxin10/file'; 即可。
注意:先在操作系统中建立路径,再执行 chmod -R 777 /xxx/xxx
2 使用oracle 提供的 DBMS_XSLPROCESSOR.CLOB2FILE 函数即可。
代码如下:
create or replace procedure alf_create_url is
begin
DECLARE
CURSOR CUR IS select uc.id, tp.orig_content, tp.shop_belong_province from url_create uc, t_ec_pakg tp where uc.page_url = tp.pakg_url;
rec CUR%ROWTYPE;
p_directory_name varchar(32) := 'ALFTEST';
BEGIN
dbms_output.put_line('aaa');
OPEN cur;
LOOP
FETCH CUR INTO rec;
EXIT WHEN CUR%NOTFOUND;
DBMS_XSLPROCESSOR.CLOB2FILE(rec.orig_content, p_directory_name, rec.id ||'_'|| '_' || '_auto.html');
end loop;
CLOSE cur;
commit;
END;
end alf_create_url;
参考:1 http://www.cnblogs.com/fangwenyu/archive/2012/03/15/2398625.html
2 http://www.cnblogs.com/OceanChen/archive/2009/02/11/1388185.html