Skip navigation links

Oracle®Database JDBC Java API Reference
12c Release 1 (12.1.0.2)
E56669-01


oracle.sql
Class BLOB

java.lang.Object
  extended by oracle.sql.Datum
      extended by oracle.sql.DatumWithConnection
          extended by oracle.sql.BLOB

All Implemented Interfaces:
Serializable, Blob, oracle.jdbc.internal.ACProxyable, oracle.jdbc.internal.OracleDatumWithConnection, OracleBlob

Deprecated. Use java.sql.Blob interface for declaration instead of using concrete class oracle.sql.BLOB.

public class BLOB
extends DatumWithConnection
implements oracle.jdbc.internal.OracleBlob

This class implements the java.sql.Blob interface in JDBC 2.0. It provides the native implementation of the Blob methods. Use Blob interface for declaration instead of using concrete class oracle.sql.BLOB. java.sql.Blob has methods declared for all opertions. For Oracle specific methods use the interface OracleBlob.

Obtaining Blob from ResultSet

java.sql.Blob blob = resultSet.getBlob(...);

Creating temporary Blob from factory method, java.sql.Connection#crateBlob()

java.sql.Blob blob = connection.createBlob();

See Also:
Blob, OracleBlob, Connection.createBlob(), Serialized Form

Field Summary
static int DURATION_CALL
          Deprecated.  
static int DURATION_SESSION
          Deprecated.  
static int MAX_CHUNK_SIZE
          Deprecated. 1907584: Changed MAX_CHUNK_SIZE from 32512 to 32768.
static int MODE_READONLY
          Deprecated.  
static int MODE_READWRITE
          Deprecated.  
static boolean TRACE
          Deprecated.  

 

Constructor Summary
protected BLOB()
          Deprecated.  

 

Method Summary
 boolean canReadBasicLobDataInLocator()
          Deprecated. Can the lob data be read directly from the locator?
 void close()
          Deprecated. Close a previously opened BLOB.
static BLOB createTemporary(Connection conn, boolean cache, int _duration)
          Deprecated. Create a temporary blob.
static BLOB empty_lob()
          Deprecated. use getEmptyBLOB instead
 void free()
          Deprecated. Free the resources the blob holds.
 void freeTemporary()
          Deprecated. Free the contents and the locator of the temporary blob.
static void freeTemporary(BLOB temp_lob)
          Deprecated. Free the contents and the locator of the temporary blob.
 Object getACProxy()
          Deprecated.  
 OutputStream getBinaryOutputStream()
          Deprecated. This method is deprecated. Use setBinaryStream(1L).
 OutputStream getBinaryOutputStream(long pos)
          Deprecated. This method is deprecated -- use setBinaryStream
 InputStream getBinaryStream()
          Deprecated. Implements the Blob interface function.
 InputStream getBinaryStream(long pos)
          Deprecated. Read from the BLOB as a stream at the requested position.
 InputStream getBinaryStream(long pos, long length)
          Deprecated. Return a binary stream beginning at the specified position and ofthe specified length.
 int getBufferSize()
          Deprecated. Oracle extension.
 byte[] getBytes(long pos, int length)
          Deprecated. Implements the Blob interface function.
 int getBytes(long pos, int length, byte[] buf)
          Deprecated. Oracle extension.
 int getChunkSize()
          Deprecated. Oracle extension.
static BLOB getEmptyBLOB()
          Deprecated. Return a empty lob.
 Connection getJavaSqlConnection()
          Deprecated. Oracle extension Return the java.sql.Connection associated with the receiver.
 int getPrefetchedDataSize()
          Deprecated.  
 boolean isConvertibleTo(Class jClass)
          Deprecated. Oracle extension.
 boolean isEmptyLob()
          Deprecated. Return true if the lob locator points to a empty blob.
 boolean isOpen()
          Deprecated. Check whether the BLOB is opened.
 boolean isSecureFile()
          Deprecated. Returns true if this is a SecureFile (LOBs with the STORE AS SECUREFILE option, which were introduced in Oracle Database 11g Release 1).
 boolean isTemporary()
          Deprecated. Return true if the lob locator points to a temporary blob.
static boolean isTemporary(BLOB lob)
          Deprecated. Return true if the lob locator points to a temporary blob.
 long length()
          Deprecated. Implements the Blob interface function.
 void open(int mode)
          Deprecated. Open a BLOB in the indicated mode.
 void open(LargeObjectAccessMode mode)
          Deprecated. Public method using enum instead of int
 long position(Blob pattern, long start)
          Deprecated. Implements the Blob interface function.
 long position(byte[] pattern, long start)
          Deprecated. Implements the Blob interface function.
 int putBytes(long pos, byte[] bytes)
          Deprecated. This method is deprecated -- use setBytes
 int putBytes(long pos, byte[] bytes, int length)
          Deprecated. This method is deprecated -- use setBytes
 void setACProxy(Object w)
          Deprecated.  
 OutputStream setBinaryStream(long pos)
          Deprecated. JDBC 3.0 Retrieves a stream that can be used to write to the BLOB value that this Blob object represents.
 void setBytes(byte[] locator)
          Deprecated. Sets datum value using a byte array.
 int setBytes(long pos, byte[] bytes)
          Deprecated. JDBC 3.0 Writes the given array of bytes to the BLOB value that this Blob object represents, starting at position pos, and returns the number of bytes written.
 int setBytes(long pos, byte[] bytes, int offset, int len)
          Deprecated. JDBC 3.0 Writes all or part of the given byte array to the BLOB value that this Blob object represents and returns the number of bytes written.
 Object toJdbc()
          Deprecated. Oracle extension.
 void trim(long newlen)
          Deprecated. This method id deprecated -- use truncate
 void truncate(long len)
          Deprecated. JDBC 3.0 Truncates the BLOB value that this Blob object represents to be len bytes in length.

 

Methods inherited from class oracle.sql.DatumWithConnection
assertNotNull, assertNotNull, getConnection, getConnectionDuringExceptionHandling, getOracleConnection

 

Methods inherited from class oracle.sql.Datum
bigDecimalValue, booleanValue, bytesEqual, byteValue, compareBytes, dateValue, doubleValue, equals, floatValue, getBytes, getLength, getStream, intValue, isNull, longValue, setShareBytes, shareBytes, stringValue, stringValue, timestampValue, timestampValue, timeValue, timeValue, toClass

 

Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

 

Methods inherited from interface oracle.jdbc.internal.OracleDatumWithConnection
bigDecimalValue, booleanValue, byteValue, dateValue, doubleValue, floatValue, getBytes, getConnection, getInternalConnection, getLength, getOracleConnection, getStream, intValue, longValue, setPhysicalConnectionOf, setShareBytes, shareBytes, stringValue, stringValue, timestampValue, timestampValue, timeValue, timeValue

 

Field Detail

MAX_CHUNK_SIZE

public static final int MAX_CHUNK_SIZE
Deprecated. 
1907584: Changed MAX_CHUNK_SIZE from 32512 to 32768. This was done to accommodate larger DB_BLOCK_SIZEs. Using 32512 would cause getBufferSize() to return 32512 for DB_BLOCK_SIZEs from 8192-32768. For these block sizes getBufferSize() should return getChunkSize(); not 32512. By using 32768 as the MAX_CHUNK_SIZE, getBufferSize() returns the correct chunk size. Please see bug for details.
See Also:
Constant Field Values

DURATION_SESSION

public static final int DURATION_SESSION
Deprecated. 
See Also:
Constant Field Values

DURATION_CALL

public static final int DURATION_CALL
Deprecated. 
See Also:
Constant Field Values

MODE_READONLY

public static final int MODE_READONLY
Deprecated. 
See Also:
Constant Field Values

MODE_READWRITE

public static final int MODE_READWRITE
Deprecated. 
See Also:
Constant Field Values

TRACE

public static final boolean TRACE
Deprecated. 
See Also:
Constant Field Values

Constructor Detail

BLOB

protected BLOB()
Deprecated. 

Method Detail

length

public long length()
            throws SQLException
Deprecated. 
Implements the Blob interface function. Return the length of the Binary Large OBject in bytes.
Specified by:
length in interface Blob
Returns:
length of the BLOB in bytes
Throws:
SQLException

getBytes

public byte[] getBytes(long pos,
                       int length)
                throws SQLException
Deprecated. 
Implements the Blob interface function. Return a copy of the contents of the BLOB at the requested position.
Specified by:
getBytes in interface Blob
Parameters:
pos - is the first byte of the blob to be extracted.
length - is the number of consecutive bytes to be copied.
Returns:
a byte array containing a portion of the BLOB If the pos argument is larger than the length of the data the result is null. If the pos argument is less than the length of the data, but the sum of pos argument and the length is greater than the length of the data, the result will be smaller than the length requested. If the length is zero return and empty array
Throws:
SQLException

getBinaryStream

public InputStream getBinaryStream()
                            throws SQLException
Deprecated. 
Implements the Blob interface function. Retrieve the entire BLOB as a stream.
Specified by:
getBinaryStream in interface Blob
Returns:
a stream containing the BLOB data
Throws:
SQLException

position

public long position(byte[] pattern,
                     long start)
              throws SQLException
Deprecated. 
Implements the Blob interface function. Determine the byte position at which the given byte pattern
Specified by:
position in interface Blob
Parameters:
pattern - is the pattern to search for.
start - is the position at which to begin searching.
Returns:
the position at which the pattern appears, else -1.
Throws:
SQLException

position

public long position(Blob pattern,
                     long start)
              throws SQLException
Deprecated. 
Implements the Blob interface function. Determine the byte position at which the given pattern
Specified by:
position in interface Blob
Parameters:
pattern - is the pattern to search for.
start - is the position at which to begin searching.
Returns:
the position at which the pattern appears, else -1.
Throws:
SQLException

getBytes

public int getBytes(long pos,
                    int length,
                    byte[] buf)
             throws SQLException
Deprecated. 
Oracle extension. Copy the contents of the BLOB at the requested position to suppied buffer.
Specified by:
getBytes in interface OracleBlob
Parameters:
pos - is the first byte of the blob to be extracted.
length - is the number of consecutive bytes to be copied.
buf - is the buffer to had the extracted bytes.
Returns:
a byte array containing a portion of the BLOB
Throws:
SQLException

putBytes

public int putBytes(long pos,
                    byte[] bytes)
             throws SQLException
Deprecated. This method is deprecated -- use setBytes
Oracle extension. Put data to the BLOB at the requested position.
Parameters:
pos - is the position data to be put.
bytes - is the data to be written into BLOB.
Returns:
the number of bytes actually written.
Throws:
SQLException

putBytes

public int putBytes(long pos,
                    byte[] bytes,
                    int length)
             throws SQLException
Deprecated. This method is deprecated -- use setBytes
Oracle extension. Put data to the BLOB at the requested position.
Parameters:
pos - is the position data to be put.
bytes - is the data to be written into BLOB.
length - is the length of the data to be written into BLOB.
Returns:
the number of bytes actually written.
Throws:
SQLException

getBinaryOutputStream

public OutputStream getBinaryOutputStream()
                                   throws SQLException
Deprecated. This method is deprecated. Use setBinaryStream(1L).
Oracle extension. Write to the BLOB from a stream.
Returns:
a output stream to write data to the BLOB
Throws:
SQLException

getChunkSize

public int getChunkSize()
                 throws SQLException
Deprecated. 
Oracle extension. Get database LOB storage chunk size in database.
Returns:
size in bytes
Throws:
SQLException

getBufferSize

public int getBufferSize()
                  throws SQLException
Deprecated. 
Oracle extension. Get ideal LOB db access buffer size.
Returns:
size in bytes
Throws:
SQLException

empty_lob

public static BLOB empty_lob()
                      throws SQLException
Deprecated. use getEmptyBLOB instead
Return a empty lob. An empty lob is used initialize a LOB column/attribute. Note: an empty lob can not be read or written
Returns:
a empty lob
Throws:
SQLException
Since:
8.1.7

getEmptyBLOB

public static BLOB getEmptyBLOB()
                         throws SQLException
Deprecated. 
Return a empty lob. An empty lob is used initialize a BLOB column/attribute. Note: an empty lob can not be read or written
Returns:
a empty lob
Throws:
SQLException
Since:
10.2

isEmptyLob

public boolean isEmptyLob()
                   throws SQLException
Deprecated. 
Return true if the lob locator points to a empty blob. False if it does not. This method supports only Blobs that are not returned from the database. For Blobs returned from the database, use length(), i.e. check for zero length.
Specified by:
isEmptyLob in interface OracleBlob
Returns:
true if the lob locator points to a empty blob. False if it does not.
Throws:
SQLException
Since:
8.1.7

isSecureFile

public boolean isSecureFile()
                     throws SQLException
Deprecated. 
Returns true if this is a SecureFile (LOBs with the STORE AS SECUREFILE option, which were introduced in Oracle Database 11g Release 1).
Specified by:
isSecureFile in interface OracleBlob
Returns:
true if this is a SecureFile and false otherwise.
Throws:
SQLException

getBinaryOutputStream

public OutputStream getBinaryOutputStream(long pos)
                                   throws SQLException
Deprecated. This method is deprecated -- use setBinaryStream
Write to the BLOB from a stream at the requested position.
Parameters:
pos - is the position data to be put.
Returns:
a output stream to write data to the BLOB
Throws:
SQLException
Since:
8.2.0

getBinaryStream

public InputStream getBinaryStream(long pos)
                            throws SQLException
Deprecated. 
Read from the BLOB as a stream at the requested position.
Specified by:
getBinaryStream in interface OracleBlob
Parameters:
pos - is the position data to be read, should be greater than 0.
Returns:
a input stream to read data from the BLOB
Throws:
SQLException
Since:
8.2.0

trim

public void trim(long newlen)
          throws SQLException
Deprecated. This method id deprecated -- use truncate
Trim the value of the BLOB to the length you specify in the newlen parameter.
Parameters:
newlen - the new length of the BLOB.
Throws:
SQLException
Since:
8.2.0

createTemporary

public static BLOB createTemporary(Connection conn,
                                   boolean cache,
                                   int _duration)
                            throws SQLException
Deprecated. 
Create a temporary blob.
Parameters:
cache - Specifies if LOB should be read into buffer cache or not.
_duration - The duration of the temporary LOB. The following are valid values: DURATION_SESSION, DURATION_CALL.
Returns:
A temporary blob.
Throws:
SQLException
Since:
8.2.0

freeTemporary

public static void freeTemporary(BLOB temp_lob)
                          throws SQLException
Deprecated. 
Free the contents and the locator of the temporary blob.
Parameters:
temp_lob - A temporary blob to be freeed.
Throws:
SQLException - if temp_lob is a permanent lob or temp_lob has already been freed.
Since:
8.2.0

isTemporary

public static boolean isTemporary(BLOB lob)
                           throws SQLException
Deprecated. 
Return true if the lob locator points to a temporary blob. False if it does not.
Parameters:
lob - the blob to test.
Returns:
true if the lob locator points to a temporary blob. False if it does not.
Throws:
SQLException
Since:
8.2.0

freeTemporary

public void freeTemporary()
                   throws SQLException
Deprecated. 
Free the contents and the locator of the temporary blob.
Throws:
SQLException - if self is a permanent lob or self has already been freed.
Since:
8.2.0

isTemporary

public boolean isTemporary()
                    throws SQLException
Deprecated. 
Return true if the lob locator points to a temporary blob. False if it does not.
Specified by:
isTemporary in interface OracleBlob
Returns:
true if the lob locator points to a temporary blob. False if it does not.
Throws:
SQLException
Since:
8.2.0

open

public void open(LargeObjectAccessMode mode)
          throws SQLException
Deprecated. 
Public method using enum instead of int
Specified by:
open in interface OracleBlob
Throws:
SQLException

open

public void open(int mode)
          throws SQLException
Deprecated. 
Open a BLOB in the indicated mode. Valid modes include MODE_READONLY, and MODE_READWRITE. It is an error to open the same LOB twice.
Throws:
SQLException
Since:
8.2.0

close

public void close()
           throws SQLException
Deprecated. 
Close a previously opened BLOB.
Specified by:
close in interface OracleBlob
Throws:
SQLException
Since:
8.2.0

isOpen

public boolean isOpen()
               throws SQLException
Deprecated. 
Check whether the BLOB is opened.
Specified by:
isOpen in interface OracleBlob
Returns:
true if the LOB is opened.
Throws:
SQLException
Since:
8.2.0

setBytes

public int setBytes(long pos,
                    byte[] bytes)
             throws SQLException
Deprecated. 
JDBC 3.0 Writes the given array of bytes to the BLOB value that this Blob object represents, starting at position pos, and returns the number of bytes written.
Specified by:
setBytes in interface Blob
Parameters:
pos - the position in the BLOB object at which to start writing
bytes - the array of bytes to be written to the BLOB value that this Blob object represents
Returns:
the number of bytes written
Throws:
SQLException - if there is an error accessing the BLOB value
Since:
9.0.2

setBytes

public int setBytes(long pos,
                    byte[] bytes,
                    int offset,
                    int len)
             throws SQLException
Deprecated. 
JDBC 3.0 Writes all or part of the given byte array to the BLOB value that this Blob object represents and returns the number of bytes written. Writing starts at position pos in the BLOB value; len bytes from the given byte array are written.
Specified by:
setBytes in interface Blob
Parameters:
pos - the position in the BLOB object at which to start writing
bytes - the array of bytes to be written to this BLOB object
offset - the offset into the array bytes at which to start reading the bytes to be set
len - the number of bytes to be written to the BLOB value from the array of bytes bytes
Returns:
the number of bytes written
Throws:
SQLException - if there is an error accessing the BLOB value
Since:
9.0.2

setBinaryStream

public OutputStream setBinaryStream(long pos)
                             throws SQLException
Deprecated. 
JDBC 3.0 Retrieves a stream that can be used to write to the BLOB value that this Blob object represents. The stream begins at position pos.
Specified by:
setBinaryStream in interface Blob
Parameters:
pos - the position in the BLOB value at which to start writing
Returns:
a java.io.OutputStream object to which data can be written
Throws:
SQLException - if there is an error accessing the BLOB value
Since:
9.0.2
See Also:
getBinaryStream()

truncate

public void truncate(long len)
              throws SQLException
Deprecated. 
JDBC 3.0 Truncates the BLOB value that this Blob object represents to be len bytes in length.
Specified by:
truncate in interface Blob
Parameters:
len - the length, in bytes, to which the BLOB value that this Blob object represents should be truncated
Throws:
SQLException - if there is an error accessing the BLOB value
Since:
9.0.2

toJdbc

public Object toJdbc()
              throws SQLException
Deprecated. 
Oracle extension. Convert this data object into its default Java object type.
Specified by:
toJdbc in interface oracle.jdbc.internal.OracleDatumWithConnection
Specified by:
toJdbc in class Datum
Returns:
this object.
Throws:
SQLException - if any of the lower layer code throws an exception.

isConvertibleTo

public boolean isConvertibleTo(Class jClass)
Deprecated. 
Oracle extension. Test whether this data object can be converted to the specified Java data type.
Specified by:
isConvertibleTo in interface oracle.jdbc.internal.OracleDatumWithConnection
Specified by:
isConvertibleTo in class Datum
Parameters:
jClass - specifies the Java data type to test against.
Returns:
true if this data object is convertible to the specified Java class, and a corresponding xxxValue() method is available; otherwise, a false is returned.

getJavaSqlConnection

public Connection getJavaSqlConnection()
                                throws SQLException
Deprecated. 
Description copied from class: DatumWithConnection
Oracle extension Return the java.sql.Connection associated with the receiver. Since 9.0.0 not all Oracle JDBC connection objects are assignment compatible with oracle.jdbc.driver.OracleConnection. If the connection is wrapped, return the outermost wrapper.
Specified by:
getJavaSqlConnection in interface oracle.jdbc.internal.OracleDatumWithConnection
Overrides:
getJavaSqlConnection in class DatumWithConnection
Returns:
the connection
Throws:
SQLException - if an error occurs

getPrefetchedDataSize

public final int getPrefetchedDataSize()
Deprecated. 

canReadBasicLobDataInLocator

public boolean canReadBasicLobDataInLocator()
                                     throws SQLException
Deprecated. 
Can the lob data be read directly from the locator?
Returns:
True if we can; false otherwise.
Throws:
SQLException

free

public void free()
          throws SQLException
Deprecated. 
Free the resources the blob holds.
Specified by:
free in interface Blob
Throws:
SQLException
Since:
11.0

getBinaryStream

public InputStream getBinaryStream(long pos,
                                   long length)
                            throws SQLException
Deprecated. 
Return a binary stream beginning at the specified position and ofthe specified length.
Specified by:
getBinaryStream in interface Blob
Parameters:
pos - start position
length - number of bytes in the result
Throws:
SQLException - if pos is less than 1 or if pos is greater than the number of bytes in the Blob or if pos + length is greater than the number of bytes in the Blob.
Since:
11.0

setBytes

public void setBytes(byte[] locator)
Deprecated. 
Description copied from class: Datum
Sets datum value using a byte array. The byte array is copied.
Specified by:
setBytes in interface oracle.jdbc.internal.OracleDatumWithConnection
Overrides:
setBytes in class Datum
Parameters:
locator - byte array used to set the datum value

setACProxy

public void setACProxy(Object w)
Deprecated. 
Specified by:
setACProxy in interface oracle.jdbc.internal.ACProxyable

getACProxy

public Object getACProxy()
Deprecated. 
Specified by:
getACProxy in interface oracle.jdbc.internal.ACProxyable

Skip navigation links

Oracle®Database JDBC Java API Reference
12c Release 1 (12.1.0.2)
E56669-01


Copyright © 2008, 2014, Oracle and/or its affiliates. All rights reserved.