Oracle C++ Call Interface Programmer's Guide Release 2 (9.2) Part Number A96583-01 |
|
OCCI Classes and Methods, 2 of 22
The Bfile
class defines the common properties of objects of type BFILE
. A BFILE is a large binary file stored in an operating system file outside of the Oracle database. A Bfile
object contains a logical pointer to a BFILE, not the BFILE itself.
Methods of the Bfile
class enable you to perform specific tasks related to Bfile
objects.
Methods of the ResultSet
and Statement classes
, such as getBfile()
and setBfile()
, enable you to access a SQL BFILE value.
To create a null Bfile object, use the syntax:
Bfile();
The only methods valid on a null Bfile
object are setNull()
, isNull(),
and operator=()
.
To create an uninitialized Bfile
object, use the syntax:
Bfile(const Connection *connectionp
);
An uninitialized Bfile
object can be initialized by:
The setName() method
. The BFILE can then be modified by inserting this BFILE into the table and then retrieving it using SELECT
... FOR UPDATE.
The write()
method will modify the BFILE; however, the modified data will be flushed to the table only when the transaction is committed. Note that an insert is not required.Bfile
object to it.To create a copy of an existing Bfile
object, use the syntax:
Bfile(const Bfile &srcBfile
);
This method closes a previously opened BFILE.
void close();
This method closes the stream obtained from the BFILE.
void closeStream(Stream *stream
);
The stream to be closed.
This method tests whether the BFILE exists. If the BFILE exists, then true is returned; otherwise, false is returned.
bool fileExists() const;
This method returns a string containing the directory alias associated with the BFILE
.
string getDirAlias() const;
This method returns a string containing the file name associated with the BFILE.
string getFileName() const;
This method returns a Stream
object read from the BFILE. If a stream is already open, it is disallowed to open another stream on the Bfile object
. The stream must be closed before performing any Bfile
object operations.
Stream* getStream(unsigned int offset = 1, unsigned int amount = 0);
The starting position at which to begin reading data from the BFILE. If offset
is not specified, the data is written from the beginning of the BLOB.
Valid values are:
Numbers greater than or equal to 1.
The total number of bytes to be read from the BFILE; if amount
is 0, the data will be read in a streamed mode from input offset
until the end of the BFILE.
This method tests whether the Bfile
object has been initialized. If the Bfile
object has been initialized, then true is returned; otherwise, false is returned.
bool isInitialized() const;
This method tests whether the Bfile
object is atomically null. If the Bfile
object is atomically null, then true is returned; otherwise, false is returned.
bool isNull() const;
This method tests whether the BFILE is open. The BFILE is considered to be open only if it was opened by a call on this Bfile
object. (A different Bfile
object could have opened this file as more than one open can be performed on the same file by associating the file with different Bfile
objects). If the BFILE is open, then true is returned; otherwise, false is returned.
bool isOpen() const;
This method returns the number of bytes (inclusive of the end of file marker) in the BFILE.
unsigned int length() const;
This method opens an existing BFILE for read-only access. This function is meaningful the first time it is called for a Bfile
object.
void open();
This method assigns a Bfile
object to the current Bfile
object. The source Bfile
object is assigned to this Bfile
object only when this Bfile
object gets stored in the database.
Bfile& operator=(const Bfile &srcBfile);
The Bfile object
to be assigned to the current Bfile
object.
This method compares two Bfile objects
for equality. The Bfile
objects are equal if they both refer to the same BFILE. If the Bfile
objects are null, then false is returned. If the Bfile
objects are equal, then true is returned; otherwise, false is returned.
bool operator==(const Bfile &srcBfile) const;
The Bfile object
to be compared with the current Bfile
object.
This method compares two Bfile objects
for inequality. The Bfile
objects are equal if they both refer to the same BFILE. If the Bfile
objects are not equal, then true is returned; otherwise, false is returned.
bool operator!=(const Bfile &srcBfile) const;
The Bfile object
to be compared with the current Bfile
object.
This method reads a part or all of the BFILE into the buffer specified, and returns the number of bytes read.
unsigned int read(unsigned int amt, unsigned char *buffer, unsigned int bufsize, unsigned int offset = 1) const;
The number of bytes to be read.
Valid values are:
Numbers greater than or equal to 1.
The buffer that the BFILE data is to be read into.
Valid values are:
A number greater than or equal to amt
.
The size of the buffer that the BFILE data is to be read into.
Valid values are:
A number greater than or equal to amt
.
The starting position at which to begin reading data from the BFILE. If offset
is not specified, the data is written from the beginning of the BFILE.
This method sets the directory alias and file name of the BFILE.
void setName(const string &dirAlias, const string &fileName);
The directory alias to be associated with the BFILE.
The file name to be associated with the BFILE.
This method sets the Bfile object
to atomically null.
void setNull();
|
Copyright © 2001, 2002 Oracle Corporation. All Rights Reserved. |
|