使用Oracle SQL Developer将CLOB导出到文本文件
发布时间:2020-12-12 13:04:45 所属栏目:百科 来源:网络整理
导读:我正在使用Oracle SQL Developer并尝试将表导出到CSV文件.某些字段是CLOB字段,在许多情况下,当导出发生时,条目将被截断.我正在寻找一种方法来获得整个事情,因为我的最终目标是在这里不使用Oracle(我收到一个Oracle转储 – 被加载到一个oracle数据库,但正在使
我正在使用Oracle SQL Developer并尝试将表导出到CSV文件.某些字段是CLOB字段,在许多情况下,当导出发生时,条目将被截断.我正在寻找一种方法来获得整个事情,因为我的最终目标是在这里不使用Oracle(我收到一个Oracle转储 – 被加载到一个oracle数据库,但正在使用另一种格式的数据,所以通过CSV作为中介).
如果有多种解决方案,考虑到这是一个一次性的程序,我不介意更多的hack-ish类型的解决方案,更多地涉及“做正确”的解决方案. 如果您可以访问数据库文件系统框,您可以执行以下操作: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; / 我复制和粘贴了from this site. 你也可能会发现这个previous question about UTL_FILE很有用.它解决导出为CSV.不过,我对于UTL_FILE如何处理CLOB不了解或经验. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |