Neoview JDBC Type 4 Driver Programmer's Reference (R2.2, R2.3, R2.4, R2.5)

Reading Binary Data from a BLOB Column
To read binary data from the BLOB column, use the Blob interface or InputStream.
Using the Blob interface:
// Obtain the Blob from ResultSet
Blob myBlob = rs.getBlob("myBlobColumn");
// Obtain the input stream to read Blob data
InputStream is = myBlob.getBinaryStream();
// read Blob data using the InputStream
byte[] myBlobData;
myBlobData = new byte[length];
is.read(myBlobData, offset, length);
Using InputStream:
// obtain the InputStream from ResultSet
InputStream is = rs.getBinaryStream("myBlobColumn");
// read Blob data using the InputStream
byte[] myBlobData;
myBlobData = new byte[length];
is.read(myBlobData, offset, length);
Updating BLOB Data
To update BLOB data, use the methods in the Blob interface or use the updateBlob method of
the ResultSet interface. The Type 4 driver makes changes to the BLOB data directly. Therefore,
the Type 4 driver returns false to the locatorsUpdateCopy method of the
DatabaseMetaData interface. Applications do not need to issue a separate update statement
to update the BLOB data.
Update BLOB data in the following ways.
“Updating Blob Objects by Using the updateBlob Method” (page 57)
“Replacing Blob Objects” (page 57)
Updating Blob Objects by Using the updateBlob Method
Unlike some LOB support implementations, the Type 4 driver updates the BLOB data directly
in the database. So, when the Blob object is same in the updateBlob method as the object
obtained using getBlob, the updateRow method of the ResultSet interface does nothing
with the Blob object.
When the Blob objects differ, the Blob object in the updateBlob method behaves as if the
setBlob method was issued. See “Inserting a Blob Object by Using the setBlob Method”
(page 56).
Replacing Blob Objects
You can replace Blob objects in the following ways:
Use the EMPTY_BLOB() function to replace the Blob object with the empty Blob object.
Replace an existing Blob object in a row by inserting the Blob with new data as described
under “Inserting a BLOB Column by Using the Blob Interface” (page 55).
Use the setBinaryStream() method to of the PreparedStatement interface to replace
the existing Blob object with new BLOB data.
Use the setBlob or updateBlob methods to replace the existing BLOB objects as explained
under “Inserting a Blob Object by Using the setBlob Method” (page 56) and “Updating Blob
Objects by Using the updateBlob Method” (page 57).
Reading Binary Data from a BLOB Column 57