导出CLOB使用的SQLDeveloper文本文件

我使用的SQLDeveloper,并试图将表导出为CSV文件。 某些字段是CLOB领域,并在许多情况下,条目被截断时的输出发生。 我正在寻找一种方式来获得整个事情了,因为我的最终目标是不使用Oracle在这里(我收到一个Oracle转储 - 这是加载到一个Oracle数据库,但我用另一种格式,以便通过将数据CSV作为中介)。

如果有多个解决方案,这一点,因为这对我来说是一次过程,我不介意多砍十岁上下式的解决方案,更多地参与“做正确”的解决方案。

--------------解决方案-------------

如果你对你的数据库中访问到文件系统,你可以这样做:

CREATE OR REPLACE DIRECTORY documents AS 'C:\';
SET SERVEROUTPUT ON
DECLARE
l_file UTL_FILE.FILE_TYPE;
l_clob CLOB;
l_buffer VARCHAR2(32767);
l_amount BINARY_INTEGER := 32767;
l_pos INTEGER := 1;
BEGIN
SELECT col1
INTO l_clob
FROM tab1
WHERE rownum = 1;

l_file := UTL_FILE.fopen('DOCUMENTS', 'Sample2.txt', 'w', 32767);

LOOP
DBMS_LOB.read (l_clob, l_amount, l_pos, l_buffer);
UTL_FILE.put(l_file, l_buffer);
l_pos := l_pos + l_amount;
END LOOP;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.put_line(SQLERRM);
UTL_FILE.fclose(l_file);
END;
/

我复制并从该网站粘贴。

您也可以发现这个约UTL_FILE有用前面的问题。 它解决了导出为CSV。 我不知道或经验与UTL_FILE如何处理的CLOB,但是。

假设由Oracle倾倒你的意思是一个的.dmp(无论是从出口或EXPDP),你正在寻找一个二进制文件。 你需要导入转储文件到Oracle数据库,然后使用UTL_FILE或其他方法将数据导出到纯文本。

这里,不只是这一个短暂但一般的Python脚本 - 倾销表(使用CLOB字段,其中的其余部分),以一个平面csv文件:OraDump

分类:SQL 时间:2015-03-15 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.458 (s). 10 q(s)