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

OracleBFile クラス

OracleBFILE データ型動作するマネージ オブジェクト 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
解説解説

OracleBFILE データ型は、最大 4 ギガバイトバイナリ データへの参照格納するOracleLOB データ型です。OracleBFILE は、データが、サーバーではなくオペレーティング システム物理ファイル格納されるという点で、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 オブジェクト、および OracleBFileSeek メソッド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;
}

OracleBFILE作成使用に関する詳細については、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 OracleBFileNull ストリームであるかどうかを示す値を取得します
パブリック プロパティ 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 メンバ

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

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


パブリック フィールドパブリック フィールド
パブリック プロパティパブリック プロパティ
  名前 説明
パブリック プロパティ CanRead オーバーライドされますBFILE ストリーム読み取ることができるかどうかを示す値を取得します
パブリック プロパティ CanSeek オーバーライドされます前方シークおよび後方シーク操作実行できるかどうかを示す値を取得します
パブリック プロパティ CanTimeout  現在のストリームタイムアウトできるかどうか決定する値を取得します。(Stream から継承されます。)
パブリック プロパティ CanWrite オーバーライドされますオブジェクト書き込みサポートしているかどうかを示す値を取得します
パブリック プロパティ Connection この OracleBFileインスタンス使用される OracleConnection を取得します
パブリック プロパティ DirectoryName OracleBFile オブジェクト関連付けられている DIRECTORY オブジェクトの名前を取得します
パブリック プロパティ FileExists BFILE データ格納している物理ファイルオペレーティング システム上に存在するかどうかを示す値を取得します
パブリック プロパティ FileName パス名なしBFILE の名前を取得します
パブリック プロパティ IsNull OracleBFileNull ストリームであるかどうかを示す値を取得します
パブリック プロパティ 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 名前空間



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「OracleBFile」の関連用語

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

   

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



OracleBFileのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2025 GRAS Group, Inc.RSS