如何查看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格式的文本。
答案 0 :(得分:6)
要查看存储为BLOB的xml数据,请执行以下操作:
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。
当然,您可以通过将其转换为某种文本表示形式将其导出到文本文件中......但如果它是图像会怎么样?
答案 3 :(得分:1)
您可以查看DBMS_LOB.CONVERTTOCLOB
但如果它是XML,为什么要将它存储在BLOB中而不是XMLType(或CLOB)
答案 4 :(得分:0)
从错误消息中可以看出blob长度太长而无法容纳到varchar中。您可以在应用程序代码中进行转换,并将XML写入String或文件中。