我有一个非常旧的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”。在

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐