我有以下代码使用oracle.sql.BLOB
BLOB b = BLOB.createTemporary(conn, false, BLOB.DURATION_SESSION);
//conn is a PostgreSQL connection (java.sql.Connection object)
b.setBytes(1, someString.getBytes());
ps.setBlob(++i, b); //ps is a PreparedStatement
显然它不起作用,因为createTemporary
需要一个 Oracle 连接。
使用 Postgres 连接实现此目的的等效方法是什么?我了解Blob的 Postgres 等价物是ByteA。目标列是一
bytea
列。我可以执行以下操作吗?或者有没有达到相同效果的适当方法?ps.setBytes(++i, someString.getBytes());
另外,如何使特定于 Oracle 的代码与 DB 供应商无关?(避免使用
oracle.sql.BLOB
即使是Oracle连接)