OracleBFileとは? わかりやすく解説

OracleBFile クラス

Oracle の BFILE データ型で動作する、マネージ オブジェクト OracleBFile を表します。このクラスは継承できません。

名前空間: System.Data.OracleClient
アセンブリ: System.Data.OracleClient (system.data.oracleclient.dll 内)
構文構文

Public NotInheritable Class
 OracleBFile
    Inherits Stream
    Implements ICloneable, INullable, IDisposable
public sealed class OracleBFile : Stream, ICloneable,
 INullable, IDisposable
public ref class OracleBFile sealed : public
 Stream, ICloneable, INullable, IDisposable
public final class OracleBFile extends Stream
 implements ICloneable, INullable, 
    IDisposable
public final class OracleBFile extends
 Stream implements ICloneable, INullable, 
    IDisposable
解説解説

Oracle の BFILE データ型は、最大 4 ギガバイトのバイナリ データへの参照を格納する、Oracle の LOB データ型です。Oracle の BFILE は、データが、サーバーにではなくオペレーティング システムの物理ファイルに格納されるという点で、LOB データ型とは異なります。BFILE データ型が提供しているのは、データの読み取り専用アクセスです。そのため、Stream クラスから継承された書き込み用のメソッドはサポートしていません。

BFILE データ型が LOB データ型と異なる点として、他に次に挙げたものがあります。

BFILE データ型は、サイズが大きいためにデータベースへの格納には向かない LOB の参照に使用します。BFILE データ型を使用した場合、LOB データ型を使用した場合と比べて、クライアント、サーバー、および通信のオーバーヘッドが発生します。サイズの小さいデータだけを取得する必要がある場合は、BFILE にアクセスした方が効率的です。オブジェクト全体を取得する必要がある場合は、データベースに常駐する LOB にアクセスした方が効率的です。

NULL ではない各 OracleBFile オブジェクトには、基になる物理ファイルの位置を定義する、次の 2 つのエンティティが関連付けられます。

BFILE を作成した後、そのロケータを、ExecuteReader メソッドまたは ExecuteScalar メソッドを使用して、OracleBFile オブジェクトの形式で取得できます。

OracleBFile オブジェクトを取得するには、GetOracleBFile メソッドを呼び出します。

OracleBFile オブジェクトに関連付けられている物理ファイルは、そのファイルにアクセスするまで存在しなくてもかまいません。アプリケーションでは、存在しないファイルに OracleBFile をバインドしてから、指定した位置に物理ファイルを作成し、Read を呼び出すことができます。

Read メソッドまたは Seek メソッドを使用して、閉じている OracleBFile にアクセスしようとすると、自動的に OracleBFile ストリームが再度開かれます。

Oracle テーブル内で BFILE を作成し、これを OracleBFile オブジェクトの形式で取得する C# のコード例を次に示します。ここでは、OracleDataReader オブジェクト、および OracleBFile の Seek メソッドと Read メソッドを使用する例を示します。

private void GetOracleBFile(string
 connectionString)
{
    //Create and open the connection.
    using (OracleConnection connection = new
 OracleConnection(connectionString))
    {
        connection.Open();

        //Create and execute the commands.
        OracleCommand command = connection.CreateCommand();
        command.CommandText = "CREATE OR REPLACE DIRECTORY TestDir AS 'c:\\bfiles'";
        command.ExecuteNonQuery();
        command.CommandText = "CREATE TABLE TestTable(col1 number, col2 BFILE)";
        command.ExecuteNonQuery();
        command.CommandText = "INSERT INTO TestTable VALUES ('2', BFILENAME('TESTDIR',
 'File.jpg'))";
        command.ExecuteNonQuery();
        command.CommandText = "SELECT * FROM TestTable";

        //Read the BFile data.
        byte[] buffer = new byte[100];
        OracleDataReader dataReader = command.ExecuteReader();
        using (dataReader)
        {
            if (dataReader.Read())
            {
                OracleBFile BFile = dataReader.GetOracleBFile(1);
                using (BFile)
                {
                    BFile.Seek(0, SeekOrigin.Begin);
                    BFile.Read(buffer, 0, 100);
                }
            }
        }
    }
    return;
}

Oracle の BFILE の作成と使用に関する詳細については、Oracle のドキュメントの該当するトピックを参照してください。

メモメモ

BFILE データ型は読み取り専用であるため、System.IO.Stream クラスから継承される BeginWrite メソッド、EndWrite メソッド、および WriteByte メソッドは、サポートされません。

継承階層継承階層
System.Object
   System.MarshalByRefObject
     System.IO.Stream
      System.Data.OracleClient.OracleBFile
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
OracleBFile メンバ
System.Data.OracleClient 名前空間

OracleBFile フィールド


パブリック フィールドパブリック フィールド

参照参照

関連項目

OracleBFile クラス
System.Data.OracleClient 名前空間

OracleBFile プロパティ


パブリック プロパティパブリック プロパティ

  名前 説明
パブリック プロパティ CanRead オーバーライドされます。 BFILE ストリームを読み取ることができるかどうかを示す値を取得します。
パブリック プロパティ CanSeek オーバーライドされます。 前方シークおよび後方シーク操作を実行できるかどうかを示す値を取得します。
パブリック プロパティ CanTimeout  現在のストリームがタイムアウトできるかどうかを決定する値を取得します。 ( Stream から継承されます。)
パブリック プロパティ CanWrite オーバーライドされます。 オブジェクトが書き込みをサポートしているかどうかを示す値を取得します。
パブリック プロパティ Connection この OracleBFile のインスタンスで使用される OracleConnection を取得します。
パブリック プロパティ DirectoryName OracleBFile オブジェクトが関連付けられている DIRECTORY オブジェクトの名前を取得します。
パブリック プロパティ FileExists BFILE データを格納している物理ファイルがオペレーティング システム上に存在するかどうかを示す値を取得します。
パブリック プロパティ FileName パス名なしの BFILE の名前を取得します。
パブリック プロパティ IsNull OracleBFile が Null ストリームであるかどうかを示す値を取得します。
パブリック プロパティ Length オーバーライドされます。 OracleBFile オブジェクトが関連付けられている物理ファイルの長さ (バイト数) を返す値を取得します。
パブリック プロパティ Position オーバーライドされます。 OracleBFile ストリーム内の現在の読み込み位置を取得します。
パブリック プロパティ ReadTimeout  ストリームがタイムアウト前に読み取りを試行する期間を決定する値を取得または設定します。 ( Stream から継承されます。)
パブリック プロパティ Value OracleBFile データを格納している Byte 型の Array を取得します。
パブリック プロパティ WriteTimeout  ストリームがタイムアウト前に書き込みを試行する期間を決定する値を取得または設定します。 ( Stream から継承されます。)
参照参照

関連項目

OracleBFile クラス
System.Data.OracleClient 名前空間

OracleBFile メソッド


パブリック メソッドパブリック メソッド

( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド BeginRead  非同期の読み込み動作を開始します。 ( Stream から継承されます。)
パブリック メソッド BeginWrite  非同期の書き込み操作を開始します。 ( Stream から継承されます。)
パブリック メソッド Clone 元のオブジェクトと同じ物理ファイルに関連付けられた、この OracleBFile オブジェクトのコピーを作成します。
パブリック メソッド Close  現在のストリームを閉じ、現在のストリームに関連付けられているすべてのリソース (ソケット、ファイル ハンドルなど) を解放します。 ( Stream から継承されます。)
パブリック メソッド CopyTo オーバーロードされます。 この OracleBFile のデータをコピー先の OracleLob にコピーします。
パブリック メソッド CreateObjRef  リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。 ( MarshalByRefObject から継承されます。)
パブリック メソッド Dispose  オーバーロードされます。 この Stream オブジェクトによって使用されているすべてのリソースを解放します。 ( Stream から継承されます。)
パブリック メソッド EndRead  保留中の非同期読み取りが完了するまで待機します。 ( Stream から継承されます。)
パブリック メソッド EndWrite  非同期書き込み操作を終了します。 ( Stream から継承されます。)
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。)
パブリック メソッド Flush オーバーライドされます。 現在サポートされていません。
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。)
パブリック メソッド GetLifetimeService  対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。 ( MarshalByRefObject から継承されます。)
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 ( Object から継承されます。)
パブリック メソッド InitializeLifetimeService  対象のインスタンスの有効期間ポリシーを制御する、有効期間サービス オブジェクトを取得します。 ( MarshalByRefObject から継承されます。)
パブリック メソッド Read オーバーライドされます。 現在の OracleBFile ストリームからバイト シーケンスを読み取り、読み取ったバイト数の分だけストリーム内の位置を進めます。
パブリック メソッド ReadByte  ストリームから 1 バイトを読み取り、ストリーム内の位置を 1 バイト進めます。ストリームの末尾の場合は -1 を返します。 ( Stream から継承されます。)
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。)
パブリック メソッド Seek オーバーライドされます。 現在の OracleBFile ストリームで位置を設定します。
パブリック メソッド SetFileName OracleBFile オブジェクトをオペレーティング システムの別のファイルにバインドします。
パブリック メソッド SetLength オーバーライドされます。 現在サポートされていません。
パブリック メソッド Synchronized  指定した Stream オブジェクトをラップするスレッド セーフな (同期された) ラッパーを作成します。 ( Stream から継承されます。)
パブリック メソッド ToString  現在の Object を表す String を返します。 ( Object から継承されます。)
パブリック メソッド Write オーバーライドされます。 現在サポートされていません。
パブリック メソッド WriteByte  ストリームの現在位置にバイトを書き込み、ストリームの位置を 1 バイトだけ進めます。 ( Stream から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

OracleBFile クラス
System.Data.OracleClient 名前空間

OracleBFile メンバ

Oracle の BFILE データ型で動作する、マネージ オブジェクト OracleBFile を表します。このクラスは継承できません。

OracleBFile データ型で公開されるメンバを以下の表に示します。


パブリック フィールドパブリック フィールド
パブリック プロパティパブリック プロパティ
  名前 説明
パブリック プロパティ CanRead オーバーライドされます。 BFILE ストリームを読み取ることができるかどうかを示す値を取得します。
パブリック プロパティ CanSeek オーバーライドされます。 前方シークおよび後方シーク操作を実行できるかどうかを示す値を取得します。
パブリック プロパティ CanTimeout  現在のストリームがタイムアウトできるかどうかを決定する値を取得します。(Stream から継承されます。)
パブリック プロパティ CanWrite オーバーライドされます。 オブジェクトが書き込みをサポートしているかどうかを示す値を取得します。
パブリック プロパティ Connection この OracleBFile のインスタンスで使用される OracleConnection を取得します。
パブリック プロパティ DirectoryName OracleBFile オブジェクトが関連付けられている DIRECTORY オブジェクトの名前を取得します。
パブリック プロパティ FileExists BFILE データを格納している物理ファイルがオペレーティング システム上に存在するかどうかを示す値を取得します。
パブリック プロパティ FileName パス名なしの BFILE の名前を取得します。
パブリック プロパティ IsNull OracleBFile が Null ストリームであるかどうかを示す値を取得します。
パブリック プロパティ Length オーバーライドされます。 OracleBFile オブジェクトが関連付けられている物理ファイルの長さ (バイト数) を返す値を取得します。
パブリック プロパティ Position オーバーライドされます。 OracleBFile ストリーム内の現在の読み込み位置を取得します。
パブリック プロパティ ReadTimeout  ストリームがタイムアウト前に読み取りを試行する期間を決定する値を取得または設定します。 (Stream から継承されます。)
パブリック プロパティ Value OracleBFile データを格納している Byte 型の Array を取得します。
パブリック プロパティ WriteTimeout  ストリームがタイムアウト前に書き込みを試行する期間を決定する値を取得または設定します。 (Stream から継承されます。)
パブリック メソッドパブリック メソッド
( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド BeginRead  非同期の読み込み動作を開始します。 (Stream から継承されます。)
パブリック メソッド BeginWrite  非同期の書き込み操作を開始します。 (Stream から継承されます。)
パブリック メソッド Clone 元のオブジェクトと同じ物理ファイルに関連付けられた、この OracleBFile オブジェクトのコピーを作成します。
パブリック メソッド Close  現在のストリームを閉じ、現在のストリームに関連付けられているすべてのリソース (ソケット、ファイル ハンドルなど) を解放します。 (Stream から継承されます。)
パブリック メソッド CopyTo オーバーロードされます。 この OracleBFile のデータをコピー先の OracleLob にコピーします。
パブリック メソッド CreateObjRef  リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。 (MarshalByRefObject から継承されます。)
パブリック メソッド Dispose  オーバーロードされます。 この Stream オブジェクトによって使用されているすべてのリソースを解放します。 (Stream から継承されます。)
パブリック メソッド EndRead  保留中の非同期読み取りが完了するまで待機します。 (Stream から継承されます。)
パブリック メソッド EndWrite  非同期書き込み操作を終了します。 (Stream から継承されます。)
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。)
パブリック メソッド Flush オーバーライドされます。 現在サポートされていません。
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。)
パブリック メソッド GetLifetimeService  対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。 (MarshalByRefObject から継承されます。)
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッド InitializeLifetimeService  対象のインスタンスの有効期間ポリシーを制御する、有効期間サービス オブジェクトを取得します。 (MarshalByRefObject から継承されます。)
パブリック メソッド Read オーバーライドされます。 現在の OracleBFile ストリームからバイト シーケンスを読み取り、読み取ったバイト数の分だけストリーム内の位置を進めます。
パブリック メソッド ReadByte  ストリームから 1 バイトを読み取り、ストリーム内の位置を 1 バイト進めます。ストリームの末尾の場合は -1 を返します。 (Stream から継承されます。)
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。)
パブリック メソッド Seek オーバーライドされます。 現在の OracleBFile ストリームで位置を設定します。
パブリック メソッド SetFileName OracleBFile オブジェクトをオペレーティング システムの別のファイルにバインドします。
パブリック メソッド SetLength オーバーライドされます。 現在サポートされていません。
パブリック メソッド Synchronized  指定した Stream オブジェクトをラップするスレッド セーフな (同期された) ラッパーを作成します。 (Stream から継承されます。)
パブリック メソッド ToString  現在の Object を表す String を返します。 (Object から継承されます。)
パブリック メソッド Write オーバーライドされます。 現在サポートされていません。
パブリック メソッド WriteByte  ストリームの現在位置にバイトを書き込み、ストリームの位置を 1 バイトだけ進めます。 (Stream から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

OracleBFile クラス
System.Data.OracleClient 名前空間


このページでは「.NET Framework クラス ライブラリ リファレンス」からOracleBFileを検索した結果を表示しています。
Weblioに収録されているすべての辞書からOracleBFileを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からOracleBFile を検索

英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「OracleBFile」の関連用語

OracleBFileのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



OracleBFileのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS