【发布时间】:2012-08-24 21:48:03
【问题描述】:
我在 postgresql 数据库中工作,我需要仅使用 java 代码将 MYSQL Blob 数据类型转换为 PostgreSQL bytea 有没有办法做到这一点?
【问题讨论】:
标签: java postgresql jdbc postgresql-9.1
我在 postgresql 数据库中工作,我需要仅使用 java 代码将 MYSQL Blob 数据类型转换为 PostgreSQL bytea 有没有办法做到这一点?
【问题讨论】:
标签: java postgresql jdbc postgresql-9.1
//(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();
【讨论】:
据我所知,两者都支持 JDBC 驱动程序。并且 JDBC 具有处理 BLOB 的标准方法。我一直在 DB2 中这样做。
所以:
如果 getBytes、setBytes 不起作用,请尝试使用输入和输出流。
【讨论】: