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

Retreiving BLOB value from Database using OutputStreamBlob.class of ojdbc jar file

在 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 对象。

为什么我们必须显式创建。希望你们能帮助我,在此先感谢

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

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

您如何处理这些数据完全取决于您。如果您想转身并将该数据保存到文件中,则必须使用 FileOutputStream 并将数据写入该流。

ResultSet接口不可能实现将数据发送到所有可能的地方的方法。如果您想在 Swing 应用程序中使用照片怎么办?或者使用 FTP、WebDAV、HTTP 等将其发送到服务器……您真的认为这应该是 ResultSet 的责任吗?