[英]Insert BLOB using java for both DB2 and Oracle
我目前正在验证在Oracle for DB2上开发的应用程序。 由于我们不想维护两个单独的源,因此我需要一些查询来将blob插入到字段中,这在oracle和db2中都有效。 我没有任何标识符来区分运行应用程序的DB。
我在oracle中使用了utl_raw.cast_to_raw
,在DB2中使用了CAST() as BLOB
,它们是互不兼容的。
您将无法找到使用某种类型转换的常见SQL。 但你可以使用JDBC的setBinaryStream()
使用“普通”SQL来做到这一点
PreparedStatement pstmt = connection.prepareStatement(
"insert into blob_table (id, blob_data) values (?, ?)";
File blobFile = new File("your_document.pdf");
InputStream in = new FileInputStream(blobFile);
pstmt.setInt(1, 42);
pstmt.setBinaryStream(2, in, (int)blobFile.length());
pstmt.executeUpdate();
connection.commit();
您可以使用UPDATE
语句以相同的方式使用setBinaryStream()
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.