日期:2014-05-20  浏览次数:20658 次

数据库BLOB相关
情况大致是这样的:

oracle数据库里面有个字段是BLOB,后台用Ibatis查询数据库,返回类型是一个Map,也就是说Map的value就是BLOB类型的值。

在java代码中取BLOB的值然后写入文件时,写入的文件无法打开,取出来的BLOB的字节大小也小于文件的大小,求解。

谢谢

部分代码

//这个BLOB类型不是java.sql里面的,是oracle.sql里面的,调试的时候显示的就是这个类型
import oracle.sql.BLOB;
BLOB attachFile = (BLOB)result.get("ATTACHFILE");
FileOutputStream out = new FileOutputStream("D:\\a.jpg");
out.write(attachFile.getBytes());
out.close();

------解决方案--------------------
一般用的java.sql.Blob
------解决方案--------------------
它不是有个getInputStream方法吗?
------解决方案--------------------
oracle.sql.BLOB是java.sql.Blob的实现类吧