JDBC Type 4 Driver 2.0 Programmer's Reference (SQL/MX 2.x)
Use setBinaryStream of the PreparedStatement interface to write the data to the BLOB
column.
●
Inserting a BLOB Column by Using the Blob Interface
When you insert a row containing a BLOB data type, you can insert the row using an empty BLOB value
before the column can be updated with real BLOB data. To insert an empty BLOB value in an SQL/MX
database, specify EMPTY_BLOB() function for the BLOB column in the insert statement.
The Type 4 driver scans the SQL string for the EMPTY_BLOB() function and substitutes the
next-available data locator.
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();










