使用Oracle SQL Developer将CLOB导出到文本文件

使用Oracle SQL Developer将CLOB导出到文本文件,第1张

概述我正在使用Oracle SQL Developer并尝试将表导出到CSV文件.某些字段是CLOB字段,在许多情况下,当导出发生时,条目将被截断.我正在寻找一种方法来获得整个事情,因为我的最终目标是在这里不使用Oracle(我收到一个Oracle转储 – 被加载到一个oracle数据库,但正在使用另一种格式的数据,所以通过CSV作为中介). 如果有多种解决方案,考虑到这是一个一次性的程序,我不介意更 我正在使用Oracle sql Developer并尝试将表导出到CSV文件.某些字段是CLOB字段,在许多情况下,当导出发生时,条目将被截断.我正在寻找一种方法来获得整个事情,因为我的最终目标是在这里不使用Oracle(我收到一个Oracle转储 – 被加载到一个oracle数据库,但正在使用另一种格式的数据,所以通过CSV作为中介).

如果有多种解决方案,考虑到这是一个一次性的程序,我不介意更多的Hack-ish类型的解决方案,更多地涉及“做正确”的解决方案.

如果您可以访问数据库文件系统框,您可以执行以下 *** 作:
CREATE OR REPLACE DIRECTORY documents AS 'C:\';SET SERVEROUTPUT ONDECLARE  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不了解或经验.

总结

以上是内存溢出为你收集整理的使用Oracle SQL Developer将CLOB导出到文本文件全部内容,希望文章能够帮你解决使用Oracle SQL Developer将CLOB导出到文本文件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1167477.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存