我有一个非常旧的2006年的oracle数据库转储,其中的图像存储在长数据类型中。二进制数据似乎存储在字符类型列中。如何将这些图像导出到.jpeg文件?在
我已经将数据库恢复到oracle11.2g。除了图像之外,一切都很正常。我创建了一个新表来使用CLOB而不是LONG数据类型,并将一条记录移动到该表中,因为将表更改为使用CLOB失败,错误为SQL error:ORA-00997:非法使用LONG数据类型。在CREATE TABLE image_table_NEW AS SELECT TO_LOB(sign_area) \
sign_area FROM image_table where rownum=1;
然后用python读取数据
^{pr2}$
一个名为图像.jpeg生成,但不可读。它给出错误“解释JPEG图像文件(不是JPEG文件:以0x3f 0x3f开头)”的错误
上面的代码可以完美地处理BLOB数据类型列。在
编辑:
数据库源:未知字符集
数据库字符集:AL32UTF8
编辑2:(2019年2月17日)
我试着用数据库管理系统_LOB.converttoblob在sqldeveloper中使用此脚本https://oracle-base.com/dba/script?category=miscellaneous&file=clob_to_blob.sql,但始终收到错误“06502”。00000-“PL/SQL:数值或值错误%s”。在