我目前正在验证在 Oracle 上为 DB2 开发的应用程序。由于我们不想维护两个单独的源,因此我需要一些查询来将 blob 插入到一个字段中,该查询在 oracle 和 db2 中都适用。我没有任何标识符来区分应用程序在哪个数据库下运行。
I used utl_raw.cast_to_raw
在甲骨文中和CAST() as BLOB
在 DB2 中,它们是相互不兼容的。
您将无法找到使用某种类型转换的通用 SQL。但是您可以使用 JDBC 通过“普通”SQL 来完成此操作setBinaryStream()
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();
您可以使用setBinaryStream()
同样的方式UPDATE
陈述。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)