私は現在、DB2 用に Oracle で開発されたアプリケーションを検証しています。2 つの別々のソースを維持したくないので、オラクルと db2 の両方で機能する BLOB をフィールドに挿入するクエリが必要です。アプリケーションが実行されている DB を区別するための識別子がありません。
相互に互換性のないutl_raw.cast_to_raw
OracleとDB2で使用しました。CAST() as BLOB
ある種のキャストを使用する一般的な 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