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

OracleLob クラス

Oracle サーバー格納されるLOB (Large Object Binary) データ型表します。このクラス継承できません。

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

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

OracleLob は、データが、オペレーティング システム物理ファイルではなくサーバー上に格納されるという点で、OracleBFile データ型とは異なりますまた、常に読み取り専用である OracleBFile とは違って読み書き可能オブジェクトです。

OracleLob は、次の OracleType データ型1 つです。

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

この形式使用してNULLOracleLob構築できます

OracleLob myLob = OracleLob.Null;

この手法は主に、この例が示すように、サーバーから返されLOBNULL かどうかテストするために使用します

If(myLob == OracleLob.Null)

NULLLOB は、0 バイトLOB同じよう動作します。つまり、Read成功し、常に 0 バイト返します

null 値格納されている LOB 列を選択すると、Null返されます。

一時 LOB取得する前にトランザクション開始する必要がありますトランザクション開始されていないと、OracleDataReader は、後続データ取得失敗する可能性あります

DBMS_LOB.CREATETEMPORARY システム ストアド プロシージャ呼び出しLOB 出力パラメータバインドすることによって、Oracle一時 LOB を開くこともできますクライアント側では、一時 LOB は、テーブル内の LOB同様に動作します。たとえば、一時 LOB更新するには、その LOBトランザクション内に存在する必要があります

一時 LOB を開く方法C# の例を次に示します

OracleConnection connection = new OracleConnection("server=MyServer; integrated security=yes;");
connection.Open();
OracleTransaction transaction = connection.BeginTransaction();
OracleCommand command = connection.CreateCommand();
command.Transaction = transaction;
command.CommandText = "declare xx blob; begin dbms_lob.createtemporary(xx, false,
 0); :tempblob := xx; end;";
command.Parameters.Add(new OracleParameter("tempblob", OracleType.Blob)).Direction
 = ParameterDirection.Output;
command.ExecuteNonQuery();
OracleLob tempLob = (OracleLob)command.Parameters[0].Value;
byte[] tempbuff = new byte[10000];
tempLob.BeginBatch(OracleLobOpenMode.ReadWrite);
tempLob.Write(tempbuff,0,tempbuff.Length);
tempLob.EndBatch();
command.Parameters.Clear();
command.CommandText = "MyTable.MyProc";
command.CommandType = CommandType.StoredProcedure;  
command.Parameters.Add(new OracleParameter("ImportDoc", OracleType.Blob)).Value =
 tempLob;
command.ExecuteNonQuery();
transaction.Commit();
メモメモ

継承された WriteByte メソッドに文字データ指定して使用すると、このメソッド失敗し、InvalidOperationException がスローさます。代わりにWrite使用してください

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

OracleLob フィールド


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

  名前 説明
パブリック フィールド Null null の OracleLob オブジェクト表します
参照参照

関連項目

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

OracleLob プロパティ


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

  名前 説明
パブリック プロパティ CanRead オーバーライドされますLOB ストリーム読み取ることができるかどうかを示す値を取得します
パブリック プロパティ CanSeek オーバーライドされます前方シークおよび後方シーク操作実行できるかどうかを示す値を取得します
パブリック プロパティ CanTimeout  現在のストリームタイムアウトできるかどうか決定する値を取得します。 ( Stream から継承されます。)
パブリック プロパティ CanWrite オーバーライドされますLOB書き込みサポートしているかどうかに関係なく、常に true返します
パブリック プロパティ ChunkSize 読み取りまたは書き込み操作サーバーから取得する、またはサーバー送信する最小バイト数を示す値を取得します
パブリック プロパティ Connection この OracleLob のインスタンス使用される OracleConnection を取得します
パブリック プロパティ IsBatched アプリケーションから BeginBatch メソッド呼び出されたかどうかを示す値を取得します
パブリック プロパティ IsNull OracleLobNull ストリームであるかどうかを示す値を取得します
パブリック プロパティ IsTemporary OracleLob一時 LOB であるかどうかを示す値を取得します
パブリック プロパティ Length オーバーライドされますOracleLobサイズ返す値を取得します
パブリック プロパティ LobType LOB データ型返す値を取得します
パブリック プロパティ Position オーバーライドされますOracleLob ストリーム内の現在の読み込み位置取得します
パブリック プロパティ ReadTimeout  ストリームタイムアウト前に読み取り試行する期間を決定する値を取得または設定します。 ( Stream から継承されます。)
パブリック プロパティ Value 基になる値と等価共通言語ランタイムの値を取得します
パブリック プロパティ WriteTimeout  ストリームタイムアウト前に書き込み試行する期間を決定する値を取得または設定します。 ( Stream から継承されます。)
参照参照

関連項目

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

OracleLob メソッド


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

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

関連項目

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

OracleLob メンバ

Oracle サーバー格納されるLOB (Large Object Binary) データ型表します。このクラス継承できません。

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


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

関連項目

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


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

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

辞書ショートカット

すべての辞書の索引

「OracleLob」の関連用語

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

   

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



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

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

©2025 GRAS Group, Inc.RSS