使用ojdbc jar文件的OutputStreamBlob.class从数据库中检索BLOB值

时间:2015-08-18 03:07:18

标签: java oracle ojdbc

在jdbc瘦应用程序中,如果我们想从数据库中检索照片(BLOB),我们可以通过

获取输入流对象
  

InputStream is = rs.getBinaryStream(columnIndex);

在内部创建

的对象
oracle.jdbc.driver.OracleBlobInputStream 

但是对于outputstream,我们必须像

那样明确地创建outputstream对象
  

OutputStream os = new FileOutputStream(“folder path”);

为什么我们不能使用ojdbc6.jar的oracle.jdbc.driver.OracleBlobOutputStream.class来获取os对象。

为什么我们必须明确地创建.hope你们可以帮助我,提前谢谢

1 个答案:

答案 0 :(得分:0)

ResultSet为您提供了从SQL查询中检索值的方法。对于Blob,您可以以3种形式获取该数据:

  • 字节数组(getBytes
  • 输入流(getBinaryStream
  • Blob对象(getBlob

您对该数据的处理完全取决于您。如果要转向并将该数据保存到文件,则必须使用FileOutputStream执行此操作并将数据写入该流。

ResultSet接口无法实现将数据发送到所有可能位置的方法。如果您想在Swing应用程序中使用Photo,该怎么办?或使用FTP,WebDAV,HTTP将其发送到服务器......你真的认为应该由ResultSet负责吗?