13.6 Bfileクラス
Bfile
クラスは、BFILE
型オブジェクトの共通プロパティを定義します。BFILE
とは、Oracleデータベースの外のオペレーティング・システム・ファイルに格納されているラージ・バイナリ・ファイルです。Bfile
オブジェクトには、BFILE
への論理ポインタが含まれていますが、BFILE
自体は含まれていません。
Bfile
クラスのメソッドを使用すると、Bfile
オブジェクトに関連する特定のタスクを実行できます。
getBfile()
やsetBfile()
など、ResultSet
クラスとStatement
クラスのメソッドによって、SQL BFILE
の値にアクセスできます。
NULL
のBfile
オブジェクトに対する有効なメソッドは、setName()、isNull()およびoperator=()のみです。
Bfile
オブジェクトは、次の方法で初期化できます。
-
setName()メソッドを実行します。次に、この
BFILE
を表に挿入してBFILE
を変更すると、SELECT...FOR UPDATE
を使用してその内容を取り出すことができます。write()
メソッドによってBFILE
は変更されますが、変更されたデータは、トランザクションがコミットされたときにのみ表にフラッシュされます。INSERT
操作は必要ありません。 -
初期化した
Bfile
オブジェクトを割り当てます。関連項目:
LOBの詳細は、『Oracle Database SecureFilesおよびラージ・オブジェクト開発者ガイド』の該当する章を参照してください。
表13-7 Bfileメソッドの概要
メソッド | 概要 |
---|---|
|
|
オープンしている |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2つの |
|
2つの |
|
|
|
|
|
|
13.6.1 Bfile()
Bfile
クラスのコンストラクタです。
構文 | 説明 |
---|---|
Bfile(); |
|
Bfile( const Connection *connectionp); |
未初期化の |
Bfile( const Bfile &srcBfile); |
|
パラメータ | 説明 |
---|---|
connectionp |
接続ポインタを指定します。 |
srcBfile |
コピー元の |
13.6.3 closeStream()
Bfile
から取得したストリームをクローズします。
構文
void closeStream( Stream *stream);
パラメータ | 説明 |
---|---|
stream |
クローズするストリームを指定します。 |
13.6.4 fileExists()
BFILE
があるかどうかを確認します。BFILE
がある場合はTRUE
を、それ以外の場合はFALSE
を戻します。
構文
bool fileExists() const;
13.6.7 getStream()
BFILE
から読み取られたStream
オブジェクトを戻します。ストリームがオープンしている場合、そのBfile
オブジェクトで別のストリームをオープンすることはできません。ストリームは、Bfile
オブジェクト操作を実行する前にクローズする必要があります。
構文
Stream* getStream( unsigned int offset = 1, unsigned int amount = 0);
パラメータ | 説明 |
---|---|
offset |
|
amount |
|
13.6.8 getUStringDirAlias()
BFILE
に関連付けられているディレクトリ・オブジェクトを含むUString
を戻します。UString
オブジェクトにはUTF16キャラクタ・セットが使用されます。BFILE
に関連付けられている環境を、UTF16キャラクタセットに関連付ける必要があります。
構文
UString getUStringDirAlias() const;
13.6.9 getUStringFileName()
BFILE
に関連付けられているファイル名を含むUString
を戻します。UString
オブジェクトにはUTF16キャラクタセットが使用されます。BFILE
に関連付けられている環境を、UTF16キャラクタセットに関連付ける必要があります。
構文
UString getUStringFileName() const;
13.6.10 isInitialized()
Bfile
オブジェクトが初期化されているかどうかを確認します。Bfile
オブジェクトが初期化されている場合はTRUE
を、それ以外の場合はFALSE
を戻します。
構文
bool isInitialized() const;
13.6.11 isNull()
Bfile
オブジェクトがアトミックNULL
かどうかをテストします。Bfile
オブジェクトがアトミックNULL
の場合はTRUE
を、それ以外の場合はFALSE
を戻します。
構文
bool isNull() const;
13.6.12 isOpen()
BFILE
がオープンしているかどうかを確認します。BFILE
は、このBfile
オブジェクトのコールでオープンされた場合にかぎり、オープンされているとみなされます。(異なるBfile
オブジェクトに対して関連付けることにより、同一ファイルに対してopen()
コールを複数回実行することが可能であるため、別のBfile
オブジェクトがこのファイルをオープンしていた可能性もあります)。BFILE
がオープンしている場合はTRUE
を、それ以外の場合はFALSE
を戻します。
構文
bool isOpen() const;
13.6.14 open()
既存のBFILE
を読取り専用アクセスでオープンします。この関数は、1つのBfile
オブジェクトに対して初めてコールされたときに有効となります。
構文
void open();
13.6.15 operator=()
Bfile
オブジェクトを現行のBfile
オブジェクトに割り当てます。ソースのBfile
オブジェクトは、このBfile
オブジェクトがデータベースに格納されている場合にのみ、このBfile
オブジェクトに割り当てられます。
構文
Bfile& operator=( const Bfile &srcBfile);
パラメータ | 説明 |
---|---|
srcBfile |
現行の |
13.6.16 operator==()
2つのBfile
オブジェクトを比較して、等しいかどうかを調べます。2つのBfile
オブジェクトが同じBFILE
を参照している場合、それらのオブジェクトは等しいと判断されます。2つのBfile
オブジェクトがNULL
の場合は、FALSE
を戻します。2つのBfile
オブジェクトが等しい場合はTRUE
を、それ以外の場合はFALSE
を戻します。
構文
bool operator==( const Bfile &srcBfile) const;
パラメータ | 説明 |
---|---|
srcBfile |
現行の |
13.6.17 operator!=()
2つのBfile
オブジェクトを比較して、等しくないかどうかを調べます。2つのBfile
オブジェクトが同じBFILE
を参照している場合、それらのオブジェクトは等しいと判断されます。2つのBfile
オブジェクトが等しくない場合はTRUE
を、それ以外の場合はFALSE
を戻します。
構文
bool operator!=( const Bfile &srcBfile) const;
パラメータ | 説明 |
---|---|
srcBfile |
現行の |
13.6.18 read()
BFILE
の一部またはすべてを指定されたバッファに読み取り、読み取られたバイト数を戻します。
構文
unsigned int read( unsigned int amt, unsigned char *buffer, unsigned int bufsize, unsigned int offset = 1) const;
パラメータ | 説明 |
---|---|
amt |
読み取るバイト数を指定します。有効な値は、 |
buffer |
|
buffsize |
|
offset |
|
13.6.19 setName()
BFILE
のディレクトリ・オブジェクトとファイル名を設定します。
構文 | 説明 |
---|---|
void setName( const string &dirAlias, const string &fileName); |
|
void setName( const UString &dirAlias, const UString &fileName); |
|
パラメータ | 説明 |
---|---|
dirAlias |
|
fileName |
|