私はpostgresqlデータベースで作業しています.Javaコードのみを使用してMYSQL Blobデータ型をPostgreSQLバイトに変換する必要があります.これを行う方法はありますか?
1788 次
2 に答える
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();
于 2012-08-30T07:57:09.800 に答える
0
私の知る限り、どちらも JDBC ドライバーをサポートしています。また、JDBC には BLOB を処理する標準的な方法があります。私はDB2でいつもやっています。
そう:
- MySQL に接続する
- 選択を行います。ブロブ列が FIELD_BLOB だとしましょう
- rs.getBytes("FIELD_BLOB")
- Postgre に接続する
- PreparedStatement を実行する
- この preparestatement で setBytes を呼び出し、MySQL から取得したバイトを渡します
getBytes、setBytes が機能しない場合は、入力および出力ストリームを使用してみてください。
于 2012-08-30T07:54:14.030 に答える