【发布时间】:2011-02-11 16:28:51
【问题描述】:
我有一个列是 CLOB 数据类型的 Oracle 表。我想以文本的形式阅读此表的内容。
我尝试了select dbms_lob.substr( sqltext, 4000, 1 ) from test,但这个只选择了前 4000 个字节。如何阅读全部内容? sqltext 列中有 4000 多个字符。请指教。
【问题讨论】:
-
您使用什么语言/框架来访问 Oracle?
我有一个列是 CLOB 数据类型的 Oracle 表。我想以文本的形式阅读此表的内容。
我尝试了select dbms_lob.substr( sqltext, 4000, 1 ) from test,但这个只选择了前 4000 个字节。如何阅读全部内容? sqltext 列中有 4000 多个字符。请指教。
【问题讨论】:
如果您使用其他语言(如 Java)来读取数据,则 JDBC 驱动程序提供了读取 Clob 和 Blob 列的方法。
对于在 SQL 客户端上使用直接 SQL 查询来读取此类列,它不会开箱即用,因为必须使用流读取大于 4000 字节的 clob 和 blob 值。您需要编写 PL/SQL 来执行此操作。这是一个有用的链接,您可以查看
【讨论】: