LONGs
Just like the LONG RAW data type, a LONG data type is streamed. And, like a
CLOB data type, a LONG is subject to NLS character set conversion.
LONG column values can be updated using the
PreparedStatement
object’s
setAsciiStream( )
,
setBinary
-Stream( )
, and
setCharacterStream( )
streaming methods. Alternatively, LONG
values can be updated using the setBytes( )
and
setString( )
methods. LONG column values are read
using the ResultSet
object’s complementary
get
methods. The streaming get
methods are getAsciiStream( )
, getBinaryStream( )
, and
getCharacter
-Stream( )
; the
nonstreaming get
methods are getBytes( )
and getString( )
.
Inserting or Updating a LONG
Other than the use of the methods just mentioned, when inserting or
updating a LONG, there are limitations on the size of a
String
or byte
array that you
can update using the setString( )
or
setBytes( )
methods. These limitations are listed
in Table 11-3. When you exceed these limits, you
will get the following error message: “Data size bigger than
max size for this type: ####.” To work around these
limitations, you need to use the streaming methods.
Selecting a LONG
To retrieve data in ASCII, use the ResultSet
object’s getAsciiStream( )
method. You can
use the getAsciiStream( )
method only if the
underlying database uses the US7ASCII or WE8ISO8859P1 character set.
Otherwise, you can use the getCharacterStream( )
method, which returns UCS-2-encoded characters (Unicode) regardless of the underlying database’s character set. ...
Get Java Programming with Oracle JDBC now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.