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およびラージ・オブジェクト開発者ガイド』の該当する章を参照してください。 |
| メソッド | 概要 |
|---|---|
|
|
|
|
|
前にオープンした |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2つの |
|
|
2つの |
|
|
|
|
|
|
|
|
|
Bfileクラスのコンストラクタです。
| 構文 | 説明 |
|---|---|
Bfile(); |
NULLのBfileオブジェクトを作成します。 |
Bfile( const Connection *connectionp); |
未初期化のBfileオブジェクトを構築します。 |
Bfile( const Bfile &srcBfile); |
Bfileオブジェクトのコピーを作成します。 |
| パラメータ | 説明 |
|---|---|
connectionp |
接続ポインタを指定します。 |
srcBfile |
コピー元のBfileオブジェクトを指定します。 |
Bfileから取得したストリームをクローズします。
構文
void closeStream( Stream *stream);
| パラメータ | 説明 |
|---|---|
stream |
クローズするストリームを指定します。 |
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オブジェクトに対して関連付けることにより、同一ファイルに対してopen()コールを複数回実行することが可能であるため、別のBfileオブジェクトがこのファイルをオープンしていた可能性もあります)。BFILEがオープンしている場合はTRUEを、それ以外の場合はFALSEを戻します。
構文
bool isOpen() const;
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に関連付けるファイル名を指定します。 |