I'm trying to get string from BLOB datatype by using
Blob blob = rs.getBlob(cloumnName[i]); byte[] bdata = blob.getBytes(1, (int) blob.length()); String s = new String(bdata);
It is working fine but when I'm going to convert String
to Blob
and trying to insert into database then nothing inserting into database. I've used below code for converting String to Blob:
String value = (s); byte[] buff = value.getBytes(); Blob blob = new SerialBlob(buff);
Can anyone help me about to converting of Blob
to String
and String
to Blob
in Java?
Blob blob = rs. getBlob(cloumnName[i]); byte[] bdata = blob. getBytes(1, (int) blob. length()); String s = new String(bdata);
If you want to update the BLOB datatype column to the TEXT datatype column. Follow these steps: Alter the table and add a column having data type TEXT. Add content to that column after converting BLOB data to TEXT date.
A BLOB (binary large object) is a varying-length binary string that can be up to 2,147,483,647 characters long. Like other binary types, BLOB strings are not associated with a code page. In addition, BLOB strings do not hold character data.
At first, I have created an object of Scanner class and read my file using FileReader() method. Then created a BLOB object initialized with null. Next, I have Converted the file into a Byte array ( byte[] ), stored it into my_byte_array. Finally converted the byte array into BLOB using SerialBlob() method.
try this (a2 is BLOB col)
PreparedStatement ps1 = conn.prepareStatement("update t1 set a2=? where id=1"); Blob blob = conn.createBlob(); blob.setBytes(1, str.getBytes()); ps1.setBlob(1, blob); ps1.executeUpdate();
it may work even without BLOB, driver will transform types automatically:
ps1.setBytes(1, str.getBytes); ps1.setString(1, str);
Besides if you work with text CLOB seems to be a more natural col type
Use this to convert String to Blob. Where connection is the connection to db object.
String strContent = s; byte[] byteConent = strContent.getBytes(); Blob blob = connection.createBlob();//Where connection is the connection to db object. blob.setBytes(1, byteContent);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With