使用 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
的责任吗?
在 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
的责任吗?