查看包含XML格式文本的BLOB数据

时间:2009-06-11 04:31:41

标签: oracle

如何查看BLOB数据,我可以将其导出到文本文件吗?我正在使用Oracle SQL开发人员5.1。我试过的时候

select utl_raw.cast_to_varchar2(dbms_lob.substr(COLNAME)) 
  from user_settings where <fieldname>=...

它返回以下错误:ORA-06502 PL/SQL : numeric or value error : raw variable length too long

BLOB包含XML格式的文本。

5 个答案:

答案 0 :(得分:6)

要查看存储为BLOB的xml数据,请执行以下操作:

  1. 打开表格视图,选择“数据”选项卡
  2. 双击列字段值,字段中将出现铅笔按钮。单击铅笔按钮。 Pencil Button
  3. 应打开“编辑值”窗口,单击“查看方式:文本”复选框。在此窗口中,您还可以保存所需的任何特定文件数据。 Select the view type
  4. PS:我正在运行Oracle SQL Developer版本3.1.05

答案 1 :(得分:3)

导致超过显示字段的大小。它需要设置大小 您为1500添加substr,它应该可以正常工作。

select utl_raw.cast_to_varchar2(dbms_lob.substr(colname,1500))
from user_settings where <row_id>=...

答案 2 :(得分:1)

BLOB数据通常只是......二进制数据blob。

当然,您可以通过将其转换为某种文本表示形式将其导出到文本文件中......但如果它是图像会怎么样?

jaganath:你需要坐下来弄清楚你正在处理的是什么,然后找出你需要做什么。

答案 3 :(得分:1)

您可以查看DBMS_LOB.CONVERTTOCLOB

但如果它是XML,为什么要将它存储在BLOB中而不是XMLType(或CLOB)

答案 4 :(得分:0)

从错误消息中可以看出blob长度太长而无法容纳到varchar中。您可以在应用程序代码中进行转换,并将XML写入String或文件中。