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

“Inserting CLOB Data by Using the PreparedStatement Interface” (page 53)
“Inserting a Clob Object by Using the setClob Method” (page 54)
Inserting CLOB Columns by Using the Clob Interface
When you insert a row containing a CLOB data type, and before the column can be updated with
real CLOB data, you can insert a row that has an empty CLOB value. To insert an empty CLOB
value in a Neoview database, specify the EMPTY_CLOB() function for the CLOB column in the
insert statement.
NOTE:
The EMPTY_CLOB() function is an HP Neoview database software specific function and
might not work on other databases.
Do not use the EMPTY_CLOB() function when using the PreparedStatement interface.
The Type 4 driver scans the SQL string for the EMPTY_CLOB() function and substitutes the
next-available data locator.
Then, obtain the handle to the empty CLOB column by selecting the CLOB column for update.
The following code illustrates how to obtain the handle to an empty CLOB column:
Clob myClob = null;
Statement s = conn.createStatement();
ResultSet rs = s.executeQuery("Select myClobColumn
from myTable where .for update");
if (rs.next())
myCLOB = rs.getClob(1);
You can now write data to the CLOB column. See “Writing ASCII or MBCS Data to a CLOB
Column” (page 53).
NOTE: Limitation: Do not rename the CLOB column in the select query.
Writing ASCII or MBCS Data to a CLOB Column
You can write ASCII or MBCS data to a CLOB column.
NOTE: Multibyte Character Set (MBCS) data and ASCII data are handled the same way.
ASCII Data
To write ASCII or MBCS data to the CLOB column, use the Clob interface. The following code
illustrates using the setAsciiStream method of the Clob interface to write CLOB data.
// stream begins at position: 1
long pos = 1;
// String containing the ASCII data
String s ;
// Obtain the output stream to write Clob data
OutputStream os = myClob.setAsciiStream(pos);
// write Clob data using OutputStream
byte[] myClobData = s.getBytes();
os.write(myClobData);
The Type 4 driver splits the output stream into chunks and stores the chunks in the LOB table.
Inserting CLOB Data by Using the PreparedStatement Interface
You can use the PreparedStatement interface to insert a CLOB column using ASCII or MBCS
data.
Storing CLOB Data 53