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 名前空間



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

辞書ショートカット

すべての辞書の索引

「OracleBFile クラス」の関連用語

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

   

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



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

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

©2025 GRAS Group, Inc.RSS