【发布时间】:2015-04-11 13:19:38
【问题描述】:
如何在 Oracle SQL Developer 中读取 blob 数据。它以 byte[] 格式存储。有没有可能以字符串格式读取。
【问题讨论】:
-
文本不可读
标签: sql oracle11g oracle10g blob oracle-sqldeveloper
如何在 Oracle SQL Developer 中读取 blob 数据。它以 byte[] 格式存储。有没有可能以字符串格式读取。
【问题讨论】:
标签: sql oracle11g oracle10g blob oracle-sqldeveloper
按照Oracle SQL Developer中的这些步骤-
更新
OP 说“文本无法理解,它像这样显示 �� ��”
可能,特定于语言环境的 NLS 字符集不支持这些字符。也可能是那些 多字节 字符。我建议,SPOOL 将结果保存到HTML 文件中,用您的browser 打开它,您可以查看内容,因为大多数浏览器都能够显示多个字符集。
您可以从 SQL*Plus 中执行类似的操作 -
SET MARKUP HTML ON SPOOL ON
SPOOL report.html
select substr(clob_column, 1, 32767) from table_name...
SPOOL OFF
更新 2
将SPOOL视为HTML,测试用例-
SET MARKUP HTML ON SPOOL ON
SPOOL D:\report.html
SELECT substr(ename, 1, 5) ename FROM emp where rownum <=5;
SPOOL OFF
非常适合我,我的浏览器会打开 html 文件,看看截图 -
【讨论】:
SUBSTR 时会发生什么?至少您可以查看前 32767 个字符。