| Java™ Platform Standard Ed. 6 | ||||||||||
public interfaceBlob
The representation (mapping) in the Java programming language of an SQLBLOB value. An SQLBLOB is a built-in type that stores a Binary Large Object as a column value in a row of a database table. By default drivers implementBlob using an SQLlocator(BLOB), which means that aBlob object contains a logical pointer to the SQLBLOB data rather than the data itself. ABlob object is valid for the duration of the transaction in which is was created.
Methods in the interfacesResultSet,CallableStatement, andPreparedStatement, such asgetBlob andsetBlob allow a programmer to access an SQLBLOB value. TheBlob interface provides methods for getting the length of an SQLBLOB (Binary Large Object) value, for materializing aBLOB value on the client, and for determining the position of a pattern of bytes within aBLOB value. In addition, this interface has methods for updating aBLOB value.
All methods on theBlob interface must be fully implemented if the JDBC driver supports the data type.
free()This method frees the Blob object and releases the resources that it holds. | |
getBinaryStream()Retrieves the BLOB value designated by thisBlob instance as a stream. | |
getBinaryStream(long pos, long length)Returns an InputStream object that contains a partialBlob value, starting with the byte specified by pos, which is length bytes in length. | |
getBytes(long pos, int length)Retrieves all or part of the BLOB value that thisBlob object represents, as an array of bytes. | |
length()Returns the number of bytes in the BLOB value designated by thisBlob object. | |
position(Blob pattern, long start)Retrieves the byte position in the BLOB value designated by thisBlob object at whichpattern begins. | |
position(byte[] pattern, long start)Retrieves the byte position at which the specified byte array pattern begins within theBLOB value that thisBlob object represents. | |
setBinaryStream(long pos)Retrieves a stream that can be used to write to the BLOB value that thisBlob object represents. | |
setBytes(long pos, byte[] bytes)Writes the given array of bytes to the BLOB value that thisBlob object represents, starting at positionpos, and returns the number of bytes written. | |
setBytes(long pos, byte[] bytes, int offset, int len)Writes all or part of the given byte array to theBLOB value that thisBlob object represents and returns the number of bytes written. | |
truncate(long len)Truncates the BLOB value that thisBlob object represents to belen bytes in length. | |
longlength() throwsSQLException
BLOB value designated by thisBlob object.BLOB in bytesSQLException - if there is an error accessing the length of theBLOBSQLFeatureNotSupportedException - if the JDBC driver does not support this methodbyte[]getBytes(long pos, int length) throwsSQLException
BLOB value that thisBlob object represents, as an array of bytes. Thisbyte array contains up tolength consecutive bytes starting at positionpos.pos - the ordinal position of the first byte in theBLOB value to be extracted; the first byte is at position 1length - the number of consecutive bytes to be copied; the value for length must be 0 or greaterlength consecutive bytes from theBLOB value designated by thisBlob object, starting with the byte at positionposSQLException - if there is an error accessing theBLOB value; if pos is less than 1 or length is less than 0SQLFeatureNotSupportedException - if the JDBC driver does not support this methodsetBytes(long, byte[])InputStreamgetBinaryStream() throwsSQLException
BLOB value designated by thisBlob instance as a stream.BLOB dataSQLException - if there is an error accessing theBLOB valueSQLFeatureNotSupportedException - if the JDBC driver does not support this methodsetBinaryStream(long)longposition(byte[] pattern, long start) throwsSQLException
pattern begins within theBLOB value that thisBlob object represents. The search forpattern begins at positionstart.pattern - the byte array for which to searchstart - the position at which to begin searching; the first position is 1SQLException - if there is an error accessing theBLOB or if start is less than 1SQLFeatureNotSupportedException - if the JDBC driver does not support this methodlongposition(Blob pattern, long start) throwsSQLException
BLOB value designated by thisBlob object at whichpattern begins. The search begins at positionstart.pattern - theBlob object designating theBLOB value for which to searchstart - the position in theBLOB value at which to begin searching; the first position is 1SQLException - if there is an error accessing theBLOB value or if start is less than 1SQLFeatureNotSupportedException - if the JDBC driver does not support this methodintsetBytes(long pos, byte[] bytes) throwsSQLException
BLOB value that thisBlob object represents, starting at positionpos, and returns the number of bytes written. The array of bytes will overwrite the existing bytes in theBlob object starting at the positionpos. If the end of theBlob value is reached while writing the array of bytes, then the length of theBlob value will be increased to accomodate the extra bytes.Note: If the value specified forpos is greater then the length+1 of theBLOB value then the behavior is undefined. Some JDBC drivers may throw aSQLException while other drivers may support this operation.
pos - the position in theBLOB object at which to start writing; the first position is 1bytes - the array of bytes to be written to theBLOB value that thisBlob object representsSQLException - if there is an error accessing theBLOB value or if pos is less than 1SQLFeatureNotSupportedException - if the JDBC driver does not support this methodgetBytes(long, int)intsetBytes(long pos, byte[] bytes, int offset, int len) throwsSQLException
byte array to theBLOB value that thisBlob object represents and returns the number of bytes written. Writing starts at positionpos in theBLOB value;len bytes from the given byte array are written. The array of bytes will overwrite the existing bytes in theBlob object starting at the positionpos. If the end of theBlob value is reached while writing the array of bytes, then the length of theBlob value will be increased to accomodate the extra bytes.Note: If the value specified forpos is greater then the length+1 of theBLOB value then the behavior is undefined. Some JDBC drivers may throw aSQLException while other drivers may support this operation.
pos - the position in theBLOB object at which to start writing; the first position is 1bytes - the array of bytes to be written to thisBLOB objectoffset - the offset into the arraybytes at which to start reading the bytes to be setlen - the number of bytes to be written to theBLOB value from the array of bytesbytesSQLException - if there is an error accessing theBLOB value or if pos is less than 1SQLFeatureNotSupportedException - if the JDBC driver does not support this methodgetBytes(long, int)OutputStreamsetBinaryStream(long pos) throwsSQLException
BLOB value that thisBlob object represents. The stream begins at positionpos. The bytes written to the stream will overwrite the existing bytes in theBlob object starting at the positionpos. If the end of theBlob value is reached while writing to the stream, then the length of theBlob value will be increased to accomodate the extra bytes.Note: If the value specified forpos is greater then the length+1 of theBLOB value then the behavior is undefined. Some JDBC drivers may throw aSQLException while other drivers may support this operation.
pos - the position in theBLOB value at which to start writing; the first position is 1java.io.OutputStream object to which data can be writtenSQLException - if there is an error accessing theBLOB value or if pos is less than 1SQLFeatureNotSupportedException - if the JDBC driver does not support this methodgetBinaryStream()voidtruncate(long len) throwsSQLException
BLOB value that thisBlob object represents to belen bytes in length.Note: If the value specified forpos is greater then the length+1 of theBLOB value then the behavior is undefined. Some JDBC drivers may throw aSQLException while other drivers may support this operation.
len - the length, in bytes, to which theBLOB value that thisBlob object represents should be truncatedSQLException - if there is an error accessing theBLOB value or if len is less than 0SQLFeatureNotSupportedException - if the JDBC driver does not support this methodvoidfree() throwsSQLException
Blob object and releases the resources that it holds. The object is invalid once thefree method is called. Afterfree has been called, any attempt to invoke a method other thanfree will result in aSQLException being thrown. Iffree is called multiple times, the subsequent calls tofree are treated as a no-op.
SQLException - if an error occurs releasing the Blob's resourcesSQLFeatureNotSupportedException - if the JDBC driver does not support this methodInputStreamgetBinaryStream(long pos, long length) throwsSQLException
InputStream object that contains a partialBlob value, starting with the byte specified by pos, which is length bytes in length.pos - the offset to the first byte of the partial value to be retrieved. The first byte in theBlob is at position 1length - the length in bytes of the partial value to be retrievedInputStream through which the partialBlob value can be read.SQLException - if pos is less than 1 or if pos is greater than the number of bytes in theBlob or if pos + length is greater than the number of bytes in theBlobSQLFeatureNotSupportedException - if the JDBC driver does not support this method| Java™ Platform Standard Ed. 6 | ||||||||||