Package oracle.sql

Class BFILE

All Implemented Interfaces:
Serializable, oracle.jdbc.internal.ACProxyable, oracle.jdbc.internal.OracleBfile, oracle.jdbc.internal.OracleConcreteProxy, oracle.jdbc.internal.OracleDatumWithConnection, OracleBfile

public class BFILE extends DatumWithConnection implements oracle.jdbc.internal.OracleBfile, oracle.jdbc.internal.OracleConcreteProxy
Deprecated.
Use oracle.jdbc.OracleBfile interface for declaration instead of using concrete class oracle.sql.BFILE.
A class for Oracle specific data type BFILE. Use OracleBfile interface for declaration instead of using concrete class oracle.sql.BFILE. OracleBfile has methods declared for all opertions.

Obtaining OracleBfile from a ResultSet

oracle.jdbc.OracleBfile bfile = ((OracleResultSet)resultSet).getBFILE(...);

There is no way to create OracleBfile on the client side.

See Also:
  • Field Details

    • MAX_CHUNK_SIZE

      public static final int MAX_CHUNK_SIZE
      Deprecated.
      See Also:
    • MODE_READONLY

      public static final int MODE_READONLY
      Deprecated.
      See Also:
    • MODE_READWRITE

      public static final int MODE_READWRITE
      Deprecated.
      See Also:
    • target

      protected oracle.jdbc.driver.OracleBfile target
      Deprecated.
  • Constructor Details

  • Method Details

    • getTarget

      public oracle.jdbc.driver.OracleBfile getTarget()
      Deprecated.
    • length

      public long length() throws SQLException
      Deprecated.
      The length of the BFILE in bytes.
      Specified by:
      length in interface OracleBfile
      Returns:
      length of the BFILE in bytes
      Throws:
      SQLException
    • getBytes

      public byte[] getBytes(long pos, int length) throws SQLException
      Deprecated.
      Return a copy of the contents of the BFILE at the requested position.
      Specified by:
      getBytes in interface OracleBfile
      Parameters:
      pos - is the first byte of the bfile to be extracted.(1-based)
      length - is the number of consecutive bytes to be copied.
      Returns:
      a byte array containing a portion of the BFILE
      Throws:
      SQLException
    • getBytes

      public int getBytes(long pos, int length, byte[] buf) throws SQLException
      Deprecated.
      Copy the contents of the BFILE at the requested position to suppied buffer.
      Specified by:
      getBytes in interface OracleBfile
      Parameters:
      pos - is the first byte of the bfile to be extracted. (1-based)
      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 BFILE
      Throws:
      SQLException
    • getBinaryStream

      public InputStream getBinaryStream() throws SQLException
      Deprecated.
      Retrieve the entire BFILE as a stream.
      Specified by:
      getBinaryStream in interface OracleBfile
      Returns:
      a stream containing the BFILE data
      Throws:
      SQLException
    • position

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

      public long position(BFILE pattern, long start) throws SQLException
      Deprecated.
      Determine the byte position at which the given pattern
      Specified by:
      position in interface oracle.jdbc.internal.OracleBfile
      Parameters:
      pattern - is the pattern to search for.
      start - is the position at which to begin searching. (1-based)
      Returns:
      the position at which the pattern appears, else -1.
      Throws:
      SQLException
    • position

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

      public String getName() throws SQLException
      Deprecated.
      Gets the Bfile's file name.
      Specified by:
      getName in interface OracleBfile
      Parameters:
      bfile - The Bfile for which to get the file name.
      Returns:
      The file name.
      Throws:
      SQLException
    • getDirAlias

      public String getDirAlias() throws SQLException
      Deprecated.
      Gets the Bfile's directory alias.
      Specified by:
      getDirAlias in interface OracleBfile
      Parameters:
      bfile - The Bfile for which to get the directory alias.
      Returns:
      The directory alias name.
      Throws:
      SQLException
    • openFile

      public void openFile() throws SQLException
      Deprecated.
      Open the FILE.
      Specified by:
      openFile in interface OracleBfile
      Parameters:
      bfile - The BFILE object to be opened.
      Throws:
      SQLException
    • isFileOpen

      public boolean isFileOpen() throws SQLException
      Deprecated.
      Find out whether a BFILE was opened with the give BFILE.
      Specified by:
      isFileOpen in interface OracleBfile
      Parameters:
      bfile - The Bfile to be tested.
      Returns:
      true if the BFILE was opened, false if it was not opened.
      Throws:
      SQLException
    • fileExists

      public boolean fileExists() throws SQLException
      Deprecated.
      Find out if a given BFILE (whose locator) points to a file that actually exists on the server's filesystem.
      Specified by:
      fileExists in interface OracleBfile
      Parameters:
      bfile - The Bfile to be tested.
      Returns:
      true if the physical file exists, false if it does not exist.
      Throws:
      SQLException
    • closeFile

      public void closeFile() throws SQLException
      Deprecated.
      Close the FILE.
      Specified by:
      closeFile in interface OracleBfile
      Parameters:
      bfile - The Bfile to be closed.
      Throws:
      SQLException
    • getBinaryStream

      public InputStream getBinaryStream(long pos) throws SQLException
      Deprecated.
      Read from the external LOB as a stream at the requested position.
      Specified by:
      getBinaryStream in interface OracleBfile
      Parameters:
      pos - is the position data to be read.
      Returns:
      a input stream to read data from the BFILE
      Throws:
      SQLException
      Since:
      8.2.0
    • open

      @Deprecated(since="23.5", forRemoval=true) public void open() throws SQLException
      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. 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 to openLob(), which provides the exact same behavior.
      Open a external LOB in the readonly mode. It is an error to open the same LOB twice.
      Throws:
      SQLException
      Since:
      8.2.0
    • openLob

      public void openLob() throws SQLException
      Deprecated.
      Open a external LOB in the readonly mode. It is an error to open the same LOB twice.
      Throws:
      SQLException
      Since:
      23.5
    • openLob

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

      @Deprecated(since="23.5", forRemoval=true) public void open(int mode) throws SQLException
      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. 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 to openLob(int), which provides the exact same behavior.
      Open a external LOB in the indicated mode. Valid modes include MODE_READONLY only. It is an error to open the same LOB twice.
      Throws:
      SQLException
      Since:
      8.2.0
    • openLob

      public void openLob(int mode) throws SQLException
      Deprecated.
      Open a external LOB in the indicated mode. Valid modes include MODE_READONLY only. It is an error to open the same LOB twice.
      Throws:
      SQLException
      Since:
      23.5
    • closeLob

      public void closeLob() throws SQLException
      Deprecated.
      Close a previously opened external LOB.
      Specified by:
      closeLob in interface OracleBfile
      Throws:
      SQLException
      Since:
      23.5
    • isOpenLob

      public boolean isOpenLob() throws SQLException
      Deprecated.
      Check whether the external LOB is opened.
      Specified by:
      isOpenLob in interface OracleBfile
      Returns:
      true if the LOB is opened.
      Throws:
      SQLException
      Since:
      23.5
    • toJdbc

      public Object toJdbc() throws SQLException
      Deprecated.
      Convert this data object into its default Java object type.
      Specified by:
      toJdbc in interface oracle.jdbc.internal.OracleBfile
      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.
      Test whether this data object can be converted to the specified Java data type.
      Specified by:
      isConvertibleTo in interface oracle.jdbc.internal.OracleBfile
      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.
    • asciiStreamValue

      public InputStream asciiStreamValue() throws SQLException
      Deprecated.
      Convert to an ascii stream representation of the datum object
      Specified by:
      asciiStreamValue in interface oracle.jdbc.internal.OracleBfile
      Specified by:
      asciiStreamValue in interface oracle.jdbc.internal.OracleDatumWithConnection
      Overrides:
      asciiStreamValue in class Datum
      Returns:
      ascii stream representation of the datum object
      Throws:
      SQLException
    • 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.OracleBfile
      Specified by:
      getJavaSqlConnection in interface oracle.jdbc.internal.OracleDatumWithConnection
      Overrides:
      getJavaSqlConnection in class DatumWithConnection
      Returns:
      the connection
      Throws:
      SQLException - if an error occurs
    • 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
    • publisherOracle

      public final Flow.Publisher<byte[]> publisherOracle(long position, ErrorSet continueOnErrorSet) throws SQLException
      Deprecated.
      Description copied from interface: OracleBfile
      Returns a Publisher that publishes the content of this BFile beginning at the specified position. The argument to each call to Subscriber.onNext will contain an implementation defined number of bytes.

      Calling any method of this BFile except fileExists(), getDirAlias(), getName(), or one defined by Object between 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, received Subscriber.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 the continueOnErrorSet, the pipeline will abort all subsequent asynchronous operations, up to the next #resume().

      Specified by:
      publisherOracle in interface OracleBfile
      Parameters:
      position - the position at which to start reading from the BFILE value that this Bfile object represents; The first position is 1
      continueOnErrorSet - Set of errors which do not cause subsequent operations to be aborted. Not null.
      Returns:
      a Publisher of the content of this BFile
      Throws:
      SQLException - if a database error occurs or if position is less than 1