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オブジェクトを割り当てます。
| メソッド | 概要 |
|---|---|
|
|
|
|
|
前にオープンした |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2つの |
|
|
2つの |
|
|
|
|
|
|
|
|
|
Bfileクラスのコンストラクタです。
| 構文 | 説明 |
|---|---|
Bfile(); |
NULLのBfileオブジェクトを作成します。 |
Bfile( const Connection *connectionp); |
未初期化のBfile オブジェクトを構築します。 |
Bfile( const Bfile &srcBfile); |
Bfileオブジェクトのコピーを作成します。 |
| パラメータ | 説明 |
|---|---|
connectionp |
接続ポインタを指定します。 |
srcBfile |
コピー元のBfileオブジェクトを指定します。 |
以前にオープンしたBfileをクローズします。
構文
void close();
Bfileから取得したストリームをクローズします。
構文
void closeStream( Stream *stream);
| パラメータ | 説明 |
|---|---|
stream |
クローズするストリームを指定します。 |
BFILEがあるかどうかを確認します。BFILEがある場合はTRUEを、それ以外の場合はFALSEを戻します。
構文
bool fileExists() const;
BFILEに関連付けられているディレクトリ・オブジェクトを含む文字列を戻します。
構文
string getDirAlias() const;
BFILEに関連付けられているファイル名を含む文字列を戻します。
構文
string getFileName() const;
BFILEから読み取られたStreamオブジェクトを戻します。ストリームがすでにオープンしている場合、そのBfileオブジェクトで別のストリームをオープンすることはできません。ストリームは、Bfileオブジェクト操作を実行する前にクローズする必要があります。
構文
Stream* getStream( unsigned int offset = 1, unsigned int amount = 0);
| パラメータ | 説明 |
|---|---|
offset |
BFILEから読み取るデータの開始位置を指定します。offsetが未指定の場合、データはBLOBの最初から書き込まれます。有効な値は、1以上の数値です。 |
amount |
BFILEから読み取るバイトの合計数を指定します。amountが0(ゼロ)の場合は、入力offsetの位置からBFILEの終わりまでのデータがストリーム・モードで読み取られます。 |
BFILEに関連付けられているディレクトリ・オブジェクトを含むUStringを戻します。
|
注意: UStringオブジェクトにはUTF16キャラクタ・セットが使用されます。BFILEに関連付けられている環境を、UTF16キャラクタセットに関連付ける必要があります。 |
構文
UString getUStringDirAlias() const;
BFILEに関連付けられているファイル名を含むUStringを戻します。
|
注意: UStringオブジェクトにはUTF16キャラクタセットが使用されます。BFILEに関連付けられている環境を、UTF16キャラクタセットに関連付ける必要があります。 |
構文
UString getUStringFileName() const;
Bfileオブジェクトが初期化されているかどうかを確認します。Bfileオブジェクトが初期化されている場合はTRUEを、それ以外の場合はFALSEを戻します。
構文
bool isInitialized() const;
BfileオブジェクトがアトミックNULLかどうかをテストします。BfileオブジェクトがアトミックNULLの場合はTRUEを、それ以外の場合はFALSEを戻します。
構文
bool isNull() const;
BFILEがオープンしているかどうかを確認します。BFILEは、このBfileオブジェクトでのコールによってオープンされた場合にのみ、オープンしているとみなされます。(別のBfileオブジェクトがこのファイルをオープンしている場合があります。これは、このファイルを異なる複数のBfileオブジェクトに関連付けることで、同一のファイルの複数のオープンが実行できるためです)。BFILEがオープンしている場合はTRUEを、それ以外の場合はFALSEを戻します。
構文
bool isOpen() const;
BFILEのバイト数を(ファイル・マーカーの終了も含めて)戻します。
構文
unsigned int length() const;
既存のBFILEを読込み専用アクセスでオープンします。この関数は、1つのBfileオブジェクトに対して初めてコールされたときに有効となります。
構文
void open();
Bfileオブジェクトを現行のBfileオブジェクトに割り当てます。ソースのBfileオブジェクトは、このBfileオブジェクトがデータベースに格納されている場合にのみ、このBfileオブジェクトに割り当てられます。
構文
Bfile& operator=( const Bfile &srcBfile);
| パラメータ | 説明 |
|---|---|
srcBfile |
現行のBfileオブジェクトに割り当てるBfileオブジェクトを指定します。 |
2つのBfileオブジェクトを比較して、等しいかどうかを調べます。2つのBfileオブジェクトが同じBFILEを参照している場合、それらのオブジェクトは等しいと判断されます。2つのBfileオブジェクトがNULLの場合は、FALSEを戻します。2つのBfileオブジェクトが等しい場合はTRUEを、それ以外の場合はFALSEを戻します。
構文
bool operator==( const Bfile &srcBfile) const;
| パラメータ | 説明 |
|---|---|
srcBfile |
現行のBfileオブジェクトと比較するBfileオブジェクトを指定します。 |
2つのBfileオブジェクトを比較して、等しくないかどうかを調べます。2つのBfileオブジェクトが同じBFILEを参照している場合、それらのオブジェクトは等しいと判断されます。2つのBfileオブジェクトが等しくない場合はTRUEを、それ以外の場合はFALSEを戻します。
構文
bool operator!=( const Bfile &srcBfile) const;
| パラメータ | 説明 |
|---|---|
srcBfile |
現行のBfileオブジェクトと比較するBfileオブジェクトを指定します。 |
BFILEの一部またはすべてを指定されたバッファに読み込み、読み取られたバイト数を戻します。
構文
unsigned int read( unsigned int amt, unsigned char *buffer, unsigned int bufsize, unsigned int offset = 1) const;
| パラメータ | 説明 |
|---|---|
amt |
読み込むバイト数を指定します。有効な値は、1以上の数値です。 |
buffer |
BFILEデータを読み取るバッファを指定します。有効な値は、amt以上の数値です。 |
buffsize |
BFILEデータを読み取るバッファのサイズを指定します。有効な値は、amt以上の数値です。 |
offset |
BFILEから読み取るデータの開始位置を指定します。offsetが未指定の場合、データはBFILEの最初から書き込まれます。 |
BFILEのディレクトリ・オブジェクトとファイル名を設定します。
| 構文 | 説明 |
|---|---|
void setName( const string &dirAlias, const string &fileName); |
BFILEのディレクトリ・オブジェクトとファイル名を設定します。 |
void setName( const UString &dirAlias, const UString &fileName); |
BFILEのディレクトリ・オブジェクトとファイル名を設定します(Unicodeサポート)。クライアントのEnvironmentをOCCIUTIF16モードで初期化する必要があります。 |
| パラメータ | 説明 |
|---|---|
dirAlias |
BFILEに関連付けるディレクトリ・オブジェクトを指定します。 |
fileName |
BFILEに関連付けるファイル名を指定します。 |
BfileオブジェクトをアトミックNULLに設定します。
構文
void setNull();