2013-06-26 9 views
8

1. Java'da BLOB nesnesi nasıl oluşturulur?
2. BLOB değerini db'den nasıl ayarlanır?
3. DB'de BLOB değeri nasıl ayarlanır?
Java'da BLOB nesnesi nasıl oluşturulur?

Ben

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

gibi BLOB nesne oluşturmak zorunda Ama beni error..So herhangi biri bana yardım edin verir. Şimdiden teşekkürler.

+0

Neden bir BLOB nesnesi oluşturmanız gerekiyor? Veya DB'den BLOB verilerini okumak ister misiniz? – NINCOMPOOP

+0

db'den bir BLOB değeri alıyorum ve bu değeri BLOB nesnesine kaydetmek istiyorum, bu yüzden bir nesne oluşturmak istiyorum. Yeniden kaydetmeden sonra bu değeri başka bir db'ye kaydetmek istiyorum, o zaman bu değeri almak istiyorum. bahar çerçeve kullanıyorum. – vijayk

+0

olası iki kopyası [Hem DB2 hem de Oracle için java kullanarak BLOB ekle] (http://stackoverflow.com/questions/16462060/insert-blob-using-java-for-both-db2-and-oracle) –

cevap

20

1) sahip varsayarsak DB kullanım ResultSet.getBlob

gelen BLOB'u okumak için

3 PreparedStatement.setBlob

) kullanan DB BLOB'u yazmak için BLOB kullanım Connection.createBlob

2) oluşturmak için BLOB sütun b1 ile tablo t1:

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

Tamam görmek için tıklayın Cevap –