2013-06-26 16 views
8

1.Jak utworzyć obiekt BLOB w java?
2.Jak ustawić wartość BLOB z db?
3.Jak ustawić wartość BLOB w DB?
Jak utworzyć obiekt BLOB w java?

mam utworzenia obiektu BLOB jak

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

ale daje mi error..So proszę ktoś mi pomoże. Z góry dzięki.

+0

Dlaczego trzeba utworzyć obiekt BLOB? A może chcesz odczytać dane BLOB z DB? – NINCOMPOOP

+0

Pobieram wartość BLOB z db i chcę zapisać tę wartość w obiekcie BLOB, dlatego chcę utworzyć obiekt.Po ponownym zapisaniu chcę zapisać tę wartość w innym db tym czasie chcę uzyskać tę wartość.I używam ramy wiosennej. – vijayk

+0

możliwy duplikat [Wstaw BLOB przy użyciu java dla DB2 i Oracle] (http://stackoverflow.com/questions/16462060/insert-blob-using-java-for-both-db2-and-oracle) –

Odpowiedz

20

1), aby utworzyć BLOB użytkowania Connection.createBlob

2) pisać BLOB do DB używać PreparedStatement.setBlob

3) do odczytu kropelka DB użytkowania ResultSet.getBlob

Zakładając, że tabela t1 z kolumną 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 zobacz zaktualizowany odpowiedź –

Powiązane problemy