我在postgresql数据库工作,我需要使用java代码将MYSQL Blob数据类型转换为PostgreSQL bytea,有没有办法做到这一点?
答案 0 :(得分:2)
//(assuming you have a ResultSet named RS)
PreparedStatement psMySql = connMySql.prepareStatement("select myBlob from myTable where ...");
Blob blob = rs.getBlob("myBlob");
int blobLength = (int) blob.length();
byte[] blobAsBytes = blob.getBytes(1, blobLength);
PreparedStatement psPostresql = connPostgresql.prepareStatement("INSERT INTO myNewTable VALUES (?, ?)");
psPostresql.setString(1, myId);
psPostresql.setBytes(2, blobAsBytes);
psPostresql.executeUpdate();
//release the blob and free up memory.
blob.free();
答案 1 :(得分:0)
据我所知,两者都支持JDBC驱动程序。 JDBC有一种处理BLOB的标准方法。我在DB2中一直这样做。
所以:
如果getBytes,setBytes不起作用,请尝试使用输入和输出流。