Class BLOB
- java.lang.Object
-
- oracle.sql.Datum
-
- oracle.sql.DatumWithConnection
-
- oracle.sql.BLOB
-
- All Implemented Interfaces:
java.io.Serializable,java.sql.Blob,oracle.jdbc.internal.ACProxyable,oracle.jdbc.internal.OracleBlob,oracle.jdbc.internal.OracleConcreteProxy,oracle.jdbc.internal.OracleDatumWithConnection,oracle.jdbc.internal.OracleLargeObject<byte[]>,OracleBlob
public class BLOB extends DatumWithConnection implements oracle.jdbc.internal.OracleBlob, oracle.jdbc.internal.OracleConcreteProxy
Deprecated.Use java.sql.Blob interface for declaration instead of using concrete class oracle.sql.BLOB.This class implements the java.sql.Blob interface in JDBC 2.0. It provides the native implementation of the Blob methods. UseBlobinterface 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 interfaceOracleBlob.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
Fields Modifier and Type Field Description static intDURATION_CALLDeprecated.static intDURATION_INVALIDDeprecated.static intDURATION_SESSIONDeprecated.static intMAX_CHUNK_SIZEDeprecated.1907584: Changed MAX_CHUNK_SIZE from 32512 to 32768.static intMODE_READONLYDeprecated.static intMODE_READWRITEDeprecated.static intOLD_WRONG_DURATION_CALLDeprecated.static intOLD_WRONG_DURATION_SESSIONDeprecated.protected oracle.jdbc.driver.OracleBlobtargetDeprecated.-
Fields inherited from class oracle.sql.DatumWithConnection
targetDatumWithConnection
-
Fields inherited from class oracle.sql.Datum
ojiOracleDatumWithConnection, targetDatum
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description booleancanReadBasicLobDataInLocator()Deprecated.Can the lob data be read directly from the locator?voidcloseLob()Deprecated.Close a previously opened BLOB.static BLOBcreateTemporary(java.sql.Connection conn, boolean cache, int _duration)Deprecated.Create a temporary blob.static BLOBempty_lob()Deprecated.use getEmptyBLOB insteadvoidfree()Deprecated.Free the resources the blob holds.java.util.concurrent.Flow.Publisher<java.lang.Void>freeAsyncOracle()Deprecated.Returns aPublisherthat publishes the result of freeing theBlobobject and the resources that it holds.voidfreeLOB()Deprecated.voidfreeTemporary()Deprecated.Free the contents and the locator of the temporary blob.static voidfreeTemporary(BLOB temp_lob)Deprecated.Free the contents and the locator of the temporary blob.java.io.OutputStreamgetBinaryOutputStream()Deprecated.This method is deprecated.java.io.OutputStreamgetBinaryOutputStream(long pos)Deprecated.This method is deprecated -- use setBinaryStreamjava.io.InputStreamgetBinaryStream()Deprecated.Implements the Blob interface function.java.io.InputStreamgetBinaryStream(boolean isInternal)Deprecated.Implements the Blob interface function.java.io.InputStreamgetBinaryStream(long pos)Deprecated.Read from the BLOB as a stream at the requested position.java.io.InputStreamgetBinaryStream(long pos, long length)Deprecated.Return a binary stream beginning at the specified position and ofthe specified length.intgetBufferSize()Deprecated.Oracle extension.byte[]getBytes(long pos, int length)Deprecated.Implements the Blob interface function.intgetBytes(long pos, int length, byte[] buf)Deprecated.Oracle extension.intgetChunkSize()Deprecated.Oracle extension.shortgetDuration()Deprecated.return the duration of a temporary LOBstatic shortgetDuration(BLOB lob)Deprecated.return the duration of a temporary LOBstatic BLOBgetEmptyBLOB()Deprecated.Return a empty lob.java.sql.ConnectiongetJavaSqlConnection()Deprecated.Oracle extension Return the java.sql.Connection associated with the receiver.oracle.jdbc.internal.OracleLargeObject.PrefetchData<byte[]>getPrefetchData()Deprecated.intgetPrefetchedDataSize()Deprecated.oracle.jdbc.driver.OracleBlobgetTarget()Deprecated.booleanisConvertibleTo(java.lang.Class<?> jClass)Deprecated.Oracle extension.booleanisEmptyLob()Deprecated.Return true if the lob locator points to a empty blob.booleanisFree()Deprecated.booleanisOpenLob()Deprecated.Check whether the BLOB is opened.booleanisSecureFile()Deprecated.Returnstrueif this is a SecureFile (LOBs with the STORE AS SECUREFILE option, which were introduced in Oracle Database 11g Release 1).booleanisTemporary()Deprecated.Return true if the lob locator points to a temporary blob.static booleanisTemporary(BLOB lob)Deprecated.Return true if the lob locator points to a temporary blob.longlength()Deprecated.Implements the Blob interface function.voidopen(int mode)Deprecated, for removal: This API element is subject to removal in a future version.The name of this method is anticipated to conflict with a future version of the JDBC Specification.voidopenLob(int mode)Deprecated.Open a BLOB in the indicated mode.voidopenLob(LargeObjectAccessMode mode)Deprecated.Public method using enum instead of intlongposition(byte[] pattern, long start)Deprecated.Implements the Blob interface function.longposition(java.sql.Blob pattern, long start)Deprecated.Implements the Blob interface function.java.util.concurrent.Flow.Publisher<byte[]>publisherOracle(long position, ErrorSet continueOnErrorSet)Deprecated.Returns aPublisherthat publishes the content of thisBlobbeginning at the specified position.intputBytes(long pos, byte[] bytes)Deprecated.This method is deprecated -- use setBytesintputBytes(long pos, byte[] bytes, int length)Deprecated.This method is deprecated -- use setBytesjava.io.OutputStreamsetBinaryStream(long pos)Deprecated.JDBC 3.0 Retrieves a stream that can be used to write to theBLOBvalue that thisBlobobject represents.voidsetBytes(byte[] locator)Deprecated.Sets datum value using a byte array.intsetBytes(long pos, byte[] bytes)Deprecated.JDBC 3.0 Writes the given array of bytes to theBLOBvalue that thisBlobobject represents, starting at positionpos, and returns the number of bytes written.intsetBytes(long pos, byte[] bytes, int offset, int len)Deprecated.JDBC 3.0 Writes all or part of the givenbytearray to theBLOBvalue that thisBlobobject represents and returns the number of bytes written.voidsetPrefetchData(oracle.jdbc.internal.OracleLargeObject.PrefetchData<byte[]> prefetchData)Deprecated.java.util.concurrent.Flow.Subscriber<byte[]>subscriberOracle(long position, java.util.concurrent.Flow.Subscriber<java.lang.Long> outcomeSubscriber, ErrorSet continueOnErrorSet)Deprecated.Returns aSubscriberthat will append the published bytes to thisBlobbeginning at the specified position.java.util.concurrent.Flow.Subscriber<byte[]>subscriberOracle(long position, ErrorSet continueOnErrorSet)Deprecated.Returns aSubscriberthat will append the published bytes to thisBlobbeginning at the specified position.java.lang.ObjecttoJdbc()Deprecated.Oracle extension.java.sql.SQLXMLtoSQLXML()Deprecated.Returns an object which impements java.sql.SQLXML with content take from this Clob.java.sql.SQLXMLtoSQLXML(int csid)Deprecated.Returns an object which impements java.sql.SQLXML with content taken from this Blob.voidtrim(long newlen)Deprecated.This method id deprecated -- use truncatevoidtruncate(long len)Deprecated.JDBC 3.0 Truncates theBLOBvalue that thisBlobobject represents to belenbytes in length.-
Methods inherited from class oracle.sql.DatumWithConnection
assertNotNull, assertNotNull, getConnection, getConnectionDuringExceptionHandling, getOracleConnection
-
Methods inherited from class oracle.sql.Datum
bigDecimalValue, booleanValue, bytesEqual, bytesHashCode, 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.OracleBlob
publisherOracle, subscriberOracle, subscriberOracle
-
Methods inherited from interface oracle.jdbc.OracleBlob
close, isOpen, open
-
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_INVALID
public static final int DURATION_INVALID
Deprecated.- 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
-
OLD_WRONG_DURATION_SESSION
public static final int OLD_WRONG_DURATION_SESSION
Deprecated.- See Also:
- Constant Field Values
-
OLD_WRONG_DURATION_CALL
public static final int OLD_WRONG_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
-
target
protected oracle.jdbc.driver.OracleBlob target
Deprecated.
-
-
Method Detail
-
getTarget
public oracle.jdbc.driver.OracleBlob getTarget()
Deprecated.
-
length
public long length() throws java.sql.SQLExceptionDeprecated.Implements the Blob interface function. Return the length of the Binary Large OBject in bytes.- Specified by:
lengthin interfacejava.sql.Blob- Returns:
- length of the BLOB in bytes
- Throws:
java.sql.SQLException
-
publisherOracle
public final java.util.concurrent.Flow.Publisher<byte[]> publisherOracle(long position, ErrorSet continueOnErrorSet) throws java.sql.SQLExceptionDeprecated.Description copied from interface:OracleBlobReturns aPublisherthat publishes the content of thisBlobbeginning at the specified position. The argument to each call toSubscriber.onNextwill contain an implementation defined number of bytes.Calling any method of this
BlobexceptisEmptyLob(),isSecureFile(),isTemporary(), or one defined byObjectbetween the time this method is called and the time when the returned publisher terminates will block.The returned publisher terminates once all subscribers have received
Subscriber.onComplete, receivedSubscriber.onError, or cancelled their subscription.Upon signalling demand to the returned
Publisher, LOB read operations will enter into the execution pipeline of this LOB's connection. If an operation fails with an error not in thecontinueOnErrorSet, the pipeline will abort all subsequent asynchronous operations, up to the next#resume().- Specified by:
publisherOraclein interfaceOracleBlob- Parameters:
position- the position at which to start reading from the BLOB value that thisBlobobject represents; The first position is 1continueOnErrorSet- Set of errors which do not cause subsequent operations to be aborted. Not null.- Returns:
- a
Publisherof the content of thisBlob - Throws:
java.sql.SQLException- if a database error occurs, or if this method is called on aBlobthat has been freed, or ifpositionis less than 1
-
subscriberOracle
public final java.util.concurrent.Flow.Subscriber<byte[]> subscriberOracle(long position, ErrorSet continueOnErrorSet) throws java.sql.SQLExceptionDeprecated.Description copied from interface:OracleBlobReturns aSubscriberthat will append the published bytes to thisBlobbeginning at the specified position.Calling any method of this
BlobexceptisEmptyLob(),isSecureFile(),isTemporary(), or one defined byObjectbetween the time this method is called and the time when the returnedSubscriberterminates will block.The returned
Subscriberterminates onceSubscriber.onCompleteis received,Subscriber.onErroris received, or its subscription is cancelled.Upon receiving bytes from an upstream
Publisher, LOB write operations will enter into the execution pipeline of this LOB's connection. If an operation fails with an error not in thecontinueOnErrorSet, the pipeline will abort all subsequent asynchronous operations, up to the next#resume().- Specified by:
subscriberOraclein interfaceOracleBlob- Parameters:
position- the position at which to start reading from the BLOB value that thisBlobobject represents; The first position is 1continueOnErrorSet- Set of errors which do not cause subsequent operations to be aborted. Not null.- Returns:
- a
Subscriberthat appends bytes to thisBlob - Throws:
java.sql.SQLException- if a database error occurs, or if this method is called on aBlobthat has been freed, or ifpositionis less than 1
-
subscriberOracle
public final java.util.concurrent.Flow.Subscriber<byte[]> subscriberOracle(long position, java.util.concurrent.Flow.Subscriber<java.lang.Long> outcomeSubscriber, ErrorSet continueOnErrorSet) throws java.sql.SQLExceptionDeprecated.Description copied from interface:OracleBlobReturns aSubscriberthat will append the published bytes to thisBlobbeginning at the specified position.Calling any method of this
BlobexceptisEmptyLob(),isSecureFile(),isTemporary(), or one defined byObjectbetween the time this method is called and the time when the returnedSubscriberterminates will block.The returned
Subscriberterminates onceSubscriber.onCompleteis received,Subscriber.onErroris received, or its subscription is cancelled.The outcome of writing published bytes to the BLOB value that this Blob object represents is published to the
outcomeSubscriber:-
The
outcomeSubscriberreceives anonNextsignal each time a write to the BLOB value is successful. The number of bytes transferred in each successful write is the argument to each invocation ofonNext. -
The
outcomeSubscriberreceives anonCompletesignal after the last published byte has been written successfully. -
The
outcomeSubscriberreceives anonErrorsignal with aSQLExceptionif a failure occurs when writing published bytes.
The
outcomeSubscribermust signal demand in order to receive any of the signals listed above. If more thanFlow.defaultBufferSize()writes have succeeded without demand from theoutcomeSubscriber, then the returned subscriber will not signal further demand until theoutcomeSubscriberhas also signalled demand.The number of writes used to transfer published bytes to the BLOB value is implementation defined, and may be different from the number of byte arrays published to the returned
Subscriber.Upon receiving bytes from an upstream
Publisher, LOB write operations will enter into the execution pipeline of this LOB's connection. If an operation fails with an error not in thecontinueOnErrorSet, the pipeline will abort all subsequent asynchronous operations, up to the next#resume().- Specified by:
subscriberOraclein interfaceOracleBlob- Parameters:
position- the position at which to start reading from the BLOB value that thisBlobobject represents; The first position is 1outcomeSubscriber- aSubscriberof write outcomes.continueOnErrorSet- Set of errors which do not cause subsequent operations to be aborted. Not null.- Returns:
- a
Subscriberthat appends bytes to thisBlob - Throws:
java.sql.SQLException- if a database error occurs, or if this method is called on aBlobthat has been freed, or ifpositionis less than 1
-
The
-
freeAsyncOracle
public final java.util.concurrent.Flow.Publisher<java.lang.Void> freeAsyncOracle() throws java.sql.SQLExceptionDeprecated.Returns aPublisherthat publishes the result of freeing theBlobobject and the resources that it holds. The object is invalid after the returnedPublisherterminates withonComplete.After the returned
Publisherterminates withonComplete, any attempt to invoke a method other thanBlob.free()orfreeAsyncOraclewill result in an SQLException being thrown. CallingfreeAsyncOracleon aBlobobject that has already been freed is treated as a no-op.Calling any method of this
BlobexceptisEmptyLob(),isSecureFile(),isTemporary(), or one defined byObjectbetween the time this method is called and the time when the returnedSubscriberterminates will block.The returned publisher terminates once all subscribers have received
Subscriber.onComplete, receivedSubscriber.onError, or cancelled their subscription.The returned publisher will only emit
onCompleteoronError; No items are emitted toonNext.Implements the Reactive Extensions API by delegating to the
ojiOracleBlob's implemenation.- Specified by:
freeAsyncOraclein interfaceOracleBlob- Returns:
- a
Publisherof the result of freeing thisBlob - Throws:
java.sql.SQLException- if a database error occurs
-
getBytes
public byte[] getBytes(long pos, int length) throws java.sql.SQLExceptionDeprecated.Implements the Blob interface function. Return a copy of the contents of the BLOB at the requested position.- Specified by:
getBytesin interfacejava.sql.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
posargument is larger than the length of the data the result is null. If theposargument is less than the length of the data, but the sum ofposargument and thelengthis greater than the length of the data, the result will be smaller than the length requested. If thelengthis zero return and empty array - Throws:
java.sql.SQLException
-
getBinaryStream
public java.io.InputStream getBinaryStream() throws java.sql.SQLExceptionDeprecated.Implements the Blob interface function. Retrieve the entire BLOB as a stream.- Specified by:
getBinaryStreamin interfacejava.sql.Blob- Returns:
- a stream containing the BLOB data
- Throws:
java.sql.SQLException
-
getBinaryStream
public java.io.InputStream getBinaryStream(boolean isInternal) throws java.sql.SQLExceptionDeprecated.Implements the Blob interface function. Retrieve the entire BLOB as a stream.- Returns:
- a stream containing the BLOB data
- Throws:
java.sql.SQLException
-
position
public long position(byte[] pattern, long start) throws java.sql.SQLExceptionDeprecated.Implements the Blob interface function. Determine the byte position at which the given byte pattern- Specified by:
positionin interfacejava.sql.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:
java.sql.SQLException
-
position
public long position(java.sql.Blob pattern, long start) throws java.sql.SQLExceptionDeprecated.Implements the Blob interface function. Determine the byte position at which the given pattern- Specified by:
positionin interfacejava.sql.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:
java.sql.SQLException
-
getBytes
public int getBytes(long pos, int length, byte[] buf) throws java.sql.SQLExceptionDeprecated.Oracle extension. Copy the contents of the BLOB at the requested position to suppied buffer.- Specified by:
getBytesin interfaceOracleBlob- 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:
java.sql.SQLException
-
putBytes
public int putBytes(long pos, byte[] bytes) throws java.sql.SQLExceptionDeprecated.This method is deprecated -- use setBytesOracle extension. Put data to the BLOB at the requested position.- Specified by:
putBytesin interfaceoracle.jdbc.internal.OracleBlob- 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:
java.sql.SQLException
-
putBytes
public int putBytes(long pos, byte[] bytes, int length) throws java.sql.SQLExceptionDeprecated.This method is deprecated -- use setBytesOracle extension. Put data to the BLOB at the requested position.- Specified by:
putBytesin interfaceoracle.jdbc.internal.OracleBlob- 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:
java.sql.SQLException
-
getBinaryOutputStream
public java.io.OutputStream getBinaryOutputStream() throws java.sql.SQLExceptionDeprecated.This method is deprecated. Use setBinaryStream(1L).Oracle extension. Write to the BLOB from a stream.- Specified by:
getBinaryOutputStreamin interfaceoracle.jdbc.internal.OracleBlob- Returns:
- a output stream to write data to the BLOB
- Throws:
java.sql.SQLException
-
getChunkSize
public int getChunkSize() throws java.sql.SQLExceptionDeprecated.Oracle extension. Get database LOB storage chunk size in database.- Specified by:
getChunkSizein interfaceoracle.jdbc.internal.OracleBlob- Returns:
- size in bytes
- Throws:
java.sql.SQLException
-
getBufferSize
public int getBufferSize() throws java.sql.SQLExceptionDeprecated.Oracle extension. Get ideal LOB db access buffer size.- Specified by:
getBufferSizein interfaceoracle.jdbc.internal.OracleBlob- Returns:
- size in bytes
- Throws:
java.sql.SQLException
-
empty_lob
public static BLOB empty_lob() throws java.sql.SQLException
Deprecated.use getEmptyBLOB insteadReturn 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:
java.sql.SQLException- Since:
- 8.1.7
-
getEmptyBLOB
public static BLOB getEmptyBLOB() throws java.sql.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:
java.sql.SQLException- Since:
- 10.2
-
isEmptyLob
public boolean isEmptyLob() throws java.sql.SQLExceptionDeprecated.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:
isEmptyLobin interfaceOracleBlob- Returns:
- true if the lob locator points to a empty blob. False if it does not.
- Throws:
java.sql.SQLException- Since:
- 8.1.7
-
isSecureFile
public boolean isSecureFile() throws java.sql.SQLExceptionDeprecated.Returnstrueif this is a SecureFile (LOBs with the STORE AS SECUREFILE option, which were introduced in Oracle Database 11g Release 1).- Specified by:
isSecureFilein interfaceOracleBlob- Returns:
trueif this is a SecureFile andfalseotherwise.- Throws:
java.sql.SQLException
-
getBinaryOutputStream
public java.io.OutputStream getBinaryOutputStream(long pos) throws java.sql.SQLExceptionDeprecated.This method is deprecated -- use setBinaryStreamWrite to the BLOB from a stream at the requested position.- Specified by:
getBinaryOutputStreamin interfaceoracle.jdbc.internal.OracleBlob- Parameters:
pos- is the position data to be put.- Returns:
- a output stream to write data to the BLOB
- Throws:
java.sql.SQLException- Since:
- 8.2.0
-
getBinaryStream
public java.io.InputStream getBinaryStream(long pos) throws java.sql.SQLExceptionDeprecated.Read from the BLOB as a stream at the requested position.- Specified by:
getBinaryStreamin interfaceOracleBlob- 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:
java.sql.SQLException- Since:
- 8.2.0
-
trim
public void trim(long newlen) throws java.sql.SQLExceptionDeprecated.This method id deprecated -- use truncateTrim the value of the BLOB to the length you specify in the newlen parameter.- Specified by:
trimin interfaceoracle.jdbc.internal.OracleBlob- Parameters:
newlen- the new length of the BLOB.- Throws:
java.sql.SQLException- Since:
- 8.2.0
-
createTemporary
public static BLOB createTemporary(java.sql.Connection conn, boolean cache, int _duration) throws java.sql.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:
java.sql.SQLException- Since:
- 8.2.0
-
freeTemporary
public static void freeTemporary(BLOB temp_lob) throws java.sql.SQLException
Deprecated.Free the contents and the locator of the temporary blob.- Parameters:
temp_lob- A temporary blob to be freeed.- Throws:
java.sql.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 java.sql.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:
java.sql.SQLException- Since:
- 8.2.0
-
getDuration
public static short getDuration(BLOB lob) throws java.sql.SQLException
Deprecated.return the duration of a temporary LOB- Returns:
- the duration of a temporary LOB
- Throws:
java.sql.SQLException- Since:
- 18.1
-
freeTemporary
public void freeTemporary() throws java.sql.SQLExceptionDeprecated.Free the contents and the locator of the temporary blob.- Specified by:
freeTemporaryin interfaceoracle.jdbc.internal.OracleLargeObject<byte[]>- Throws:
java.sql.SQLException- if self is a permanent lob or self has already been freed.- Since:
- 8.2.0
-
isTemporary
public boolean isTemporary() throws java.sql.SQLExceptionDeprecated.Return true if the lob locator points to a temporary blob. False if it does not.- Specified by:
isTemporaryin interfaceOracleBlob- Specified by:
isTemporaryin interfaceoracle.jdbc.internal.OracleLargeObject<byte[]>- Returns:
- true if the lob locator points to a temporary blob. False if it does not.
- Throws:
java.sql.SQLException- Since:
- 8.2.0
-
getDuration
public short getDuration() throws java.sql.SQLExceptionDeprecated.return the duration of a temporary LOB- Specified by:
getDurationin interfaceoracle.jdbc.internal.OracleLargeObject<byte[]>- Returns:
- the duration of a temporary LOB
- Throws:
java.sql.SQLException- Since:
- 18.1
-
openLob
public void openLob(LargeObjectAccessMode mode) throws java.sql.SQLException
Deprecated.Public method using enum instead of int- Specified by:
openLobin interfaceOracleBlob- Throws:
java.sql.SQLException- Since:
- 23.5
-
open
@Deprecated(since="23.5", forRemoval=true) public void open(int mode) throws java.sql.SQLExceptionDeprecated, for removal: This API element is subject to removal in a future version.The name of this method is anticipated to conflict with a future version of the JDBC Specification. This method will be removed in a future version of the Oracle JDBC Driver. Any calls to this method should be replaced with a call toopenLob(int), which provides the exact same behavior.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:
java.sql.SQLException- Since:
- 8.2.0
-
openLob
public void openLob(int mode) throws java.sql.SQLExceptionDeprecated.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:
java.sql.SQLException- Since:
- 23.5
-
closeLob
public void closeLob() throws java.sql.SQLExceptionDeprecated.Close a previously opened BLOB.- Specified by:
closeLobin interfaceOracleBlob- Throws:
java.sql.SQLException- Since:
- 23.5
-
isOpenLob
public boolean isOpenLob() throws java.sql.SQLExceptionDeprecated.Check whether the BLOB is opened.- Specified by:
isOpenLobin interfaceOracleBlob- Returns:
- true if the LOB is opened.
- Throws:
java.sql.SQLException- Since:
- 23.5
-
setBytes
public int setBytes(long pos, byte[] bytes) throws java.sql.SQLExceptionDeprecated.JDBC 3.0 Writes the given array of bytes to theBLOBvalue that thisBlobobject represents, starting at positionpos, and returns the number of bytes written.- Specified by:
setBytesin interfacejava.sql.Blob- Parameters:
pos- the position in theBLOBobject at which to start writingbytes- the array of bytes to be written to theBLOBvalue that thisBlobobject represents- Returns:
- the number of bytes written
- Throws:
java.sql.SQLException- if there is an error accessing theBLOBvalue- Since:
- 9.0.2
-
setBytes
public int setBytes(long pos, byte[] bytes, int offset, int len) throws java.sql.SQLExceptionDeprecated.JDBC 3.0 Writes all or part of the givenbytearray to theBLOBvalue that thisBlobobject represents and returns the number of bytes written. Writing starts at positionposin theBLOBvalue;lenbytes from the given byte array are written.- Specified by:
setBytesin interfacejava.sql.Blob- Parameters:
pos- the position in theBLOBobject at which to start writingbytes- the array of bytes to be written to thisBLOBobjectoffset- the offset into the arraybytesat which to start reading the bytes to be setlen- the number of bytes to be written to theBLOBvalue from the array of bytesbytes- Returns:
- the number of bytes written
- Throws:
java.sql.SQLException- if there is an error accessing theBLOBvalue- Since:
- 9.0.2
-
setBinaryStream
public java.io.OutputStream setBinaryStream(long pos) throws java.sql.SQLExceptionDeprecated.JDBC 3.0 Retrieves a stream that can be used to write to theBLOBvalue that thisBlobobject represents. The stream begins at positionpos.- Specified by:
setBinaryStreamin interfacejava.sql.Blob- Parameters:
pos- the position in theBLOBvalue at which to start writing- Returns:
- a
java.io.OutputStreamobject to which data can be written - Throws:
java.sql.SQLException- if there is an error accessing theBLOBvalue- Since:
- 9.0.2
- See Also:
getBinaryStream()
-
truncate
public void truncate(long len) throws java.sql.SQLExceptionDeprecated.JDBC 3.0 Truncates theBLOBvalue that thisBlobobject represents to belenbytes in length.- Specified by:
truncatein interfacejava.sql.Blob- Parameters:
len- the length, in bytes, to which theBLOBvalue that thisBlobobject represents should be truncated- Throws:
java.sql.SQLException- if there is an error accessing theBLOBvalue- Since:
- 9.0.2
-
toJdbc
public java.lang.Object toJdbc() throws java.sql.SQLExceptionDeprecated.Oracle extension. Convert this data object into its default Java object type.
-
isConvertibleTo
public boolean isConvertibleTo(java.lang.Class<?> jClass)
Deprecated.Oracle extension. Test whether this data object can be converted to the specified Java data type.- Specified by:
isConvertibleToin interfaceoracle.jdbc.internal.OracleBlob- Specified by:
isConvertibleToin interfaceoracle.jdbc.internal.OracleDatumWithConnection- Specified by:
isConvertibleToin classDatum- 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 java.sql.Connection getJavaSqlConnection() throws java.sql.SQLExceptionDeprecated.Description copied from class:DatumWithConnectionOracle 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:
getJavaSqlConnectionin interfaceoracle.jdbc.internal.OracleBlob- Specified by:
getJavaSqlConnectionin interfaceoracle.jdbc.internal.OracleDatumWithConnection- Overrides:
getJavaSqlConnectionin classDatumWithConnection- Returns:
- the connection
- Throws:
java.sql.SQLException- if an error occurs
-
setPrefetchData
public final void setPrefetchData(oracle.jdbc.internal.OracleLargeObject.PrefetchData<byte[]> prefetchData)
Deprecated.- Specified by:
setPrefetchDatain interfaceoracle.jdbc.internal.OracleLargeObject<byte[]>
-
getPrefetchData
public final oracle.jdbc.internal.OracleLargeObject.PrefetchData<byte[]> getPrefetchData()
Deprecated.- Specified by:
getPrefetchDatain interfaceoracle.jdbc.internal.OracleLargeObject<byte[]>
-
getPrefetchedDataSize
public final int getPrefetchedDataSize()
Deprecated.
-
canReadBasicLobDataInLocator
public boolean canReadBasicLobDataInLocator() throws java.sql.SQLExceptionDeprecated.Can the lob data be read directly from the locator?- Specified by:
canReadBasicLobDataInLocatorin interfaceoracle.jdbc.internal.OracleBlob- Returns:
- True if we can; false otherwise.
- Throws:
java.sql.SQLException
-
freeLOB
public void freeLOB() throws java.sql.SQLExceptionDeprecated.- Specified by:
freeLOBin interfaceoracle.jdbc.internal.OracleLargeObject<byte[]>- Throws:
java.sql.SQLException
-
free
public void free() throws java.sql.SQLExceptionDeprecated.Free the resources the blob holds.- Specified by:
freein interfacejava.sql.Blob- Throws:
java.sql.SQLException- Since:
- 11.0
-
getBinaryStream
public java.io.InputStream getBinaryStream(long pos, long length) throws java.sql.SQLExceptionDeprecated.Return a binary stream beginning at the specified position and ofthe specified length.- Specified by:
getBinaryStreamin interfacejava.sql.Blob- Parameters:
pos- start positionlength- number of bytes in the result- Throws:
java.sql.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:DatumSets datum value using a byte array. The byte array is copied.
-
toSQLXML
public java.sql.SQLXML toSQLXML() throws java.sql.SQLExceptionDeprecated.Returns an object which impements java.sql.SQLXML with content take from this Clob.- Specified by:
toSQLXMLin interfaceOracleBlob- Returns:
- the new SQLXML object
- Throws:
java.sql.SQLException- Since:
- 12.2
-
toSQLXML
public java.sql.SQLXML toSQLXML(int csid) throws java.sql.SQLExceptionDeprecated.Returns an object which impements java.sql.SQLXML with content taken from this Blob.- Specified by:
toSQLXMLin interfaceOracleBlob- Returns:
- the new SQLXML object
- Throws:
java.sql.SQLException- Since:
- 12.2
-
isFree
public final boolean isFree()
Deprecated.- Specified by:
isFreein interfaceoracle.jdbc.internal.OracleLargeObject<byte[]>
-
-