2013-06-26 11 views
8

1. javaでBLOBオブジェクトを作成するには?
2.dbからBLOB値を設定する方法は?
3. DBにBLOB値を設定するには?
JavaでBLOBオブジェクトを作成するには?

は私が

byte [] fileId=b.toByteArray(); 
    Blob blob=new SerialBlob(fileId); 

などのBLOBオブジェクトを作成しましたが、それは私がerror..Soいずれかが私を助けてくださいできます。 ありがとうございます。あなたが持っていると仮定すると、DB利用ResultSet.getBlobから

をBLOBを読み取ることPreparedStatement.setBlob

3)を使用してDBにBLOBを書くために)BLOB利用Connection.createBlob

2を作成するための

+0

なぜBLOBオブジェクトを作成する必要がありますか?または、DBからBLOBデータを読み込みたいですか? – NINCOMPOOP

+0

私はdbからBLOB値をフェッチしています。この値をBLOBオブジェクトに保存したいのですが、なぜオブジェクトを作成したいのですか。もう一度保存して、その値を別のDBに保存します。スプリングフレームワークを使用しています。 – vijayk

+0

[DB2とOracleの両方にJavaを使用してBLOBを挿入する]の複製が可能です(http://stackoverflow.com/questions/16462060/insert-blob-using-java-for-both-db2-and-oracle) –

答えて

20

1)表t1とBLOB列b1:

Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root"); 
    Blob b1 = conn.createBlob(); 
    b1.setBytes(1, new byte[10]); // first position is 1. Otherwise you get: Value of offset/position/start should be in the range [1, len] where len is length of Large Object[LOB] 

    PreparedStatement ps = conn.prepareStatement("update t1 set c1 = ?"); 
    ps.setBlob(1, b1); 
    ps.executeUpdate(); 

    Statement st = conn.createStatement(); 
    ResultSet rs = st.executeQuery("select c1 from t1"); 
    Blob b2 = rs.getBlob(1); 
+0

OKを参照してください回答 –

関連する問題