JDBC Type 4 Driver 1.1 Programmer's Reference
Note:
The EMPTY_BLOB() function is an HP NonStop specific function and might
not work on other databases.
●
Do not use the EMPTY_BLOB() function when using the
PreparedStatement interface.
●
Then, obtain the handle to the empty BLOB column by selecting the BLOB column for update.
The following code illustrates how to obtain the handle to an empty BLOB column:
Blob myBlob = null;
Statement s = conn.createStatement();
ResultSet rs = s.executeQuery("Select myBlobColumn
from myTable where …For update");
if (rs.next())
myBlob = rs.getBlob(1);
You can now write data to the BLOB column. See Writing Binary Data to a BLOB Column.
Note: Limitation: Do not rename the BLOB column in the select query.
Writing Binary Data to a BLOB Column
To write data to the BLOB column, use the Blob interface. The following code illustrates using
the setBinaryStream method of the Blob interface to write BLOB data:
// Stream begins at position: 1
long pos = 1;
// String containing the binary data
String s ;
// Obtain the output stream to write Blob data
OutputStream os = myBlob.setBinaryStream(pos);
// write Blob data using OutputStream
byte[] myBlobData = s.getBytes();
os.write(myBlobData);
The Type 4 driver splits the output stream into chunks and stores the chunks in the LOB table.
Inserting a BLOB Column by Using the PreparedStatement
Interface
To insert a BLOB column that has binary data from an InputStream, use the
PreparedStatement interface:
InputStream inputBinary;