ヘッダーをスキップ

Oracle® Data Provider for .NET開発者ガイド
リリース9.2.0.4

部品番号 B13807-01
Go To Table Of Contents
目次
Go To Index
索引

Go to previous page Go to beginning of chapter Go to next page

Oracle.DataAccess.Typesネームスペース(ODP.NET型)、14/19


OracleBFileクラス

OracleBFileは、BFILEデータへの参照を持つオブジェクトです。BFILEに対する操作を実行するためのメソッドを提供します。


注意:

OracleBFileは、Oracle8.x以上で稼働しているアプリケーションに対してサポートされています。


クラスの継承

Object

  MarshalByRefObject

    Stream

      OracleBFile

宣言
// C#
public sealed class OracleBFile : Stream, ICloneable
スレッド・セーフティ

インスタンス・メソッドではスレッド・セーフティを保証しませんが、すべてのpublic staticメソッドはスレッド・セーフです。

備考

OracleBFileは、Oracle8.x以上で稼働しているアプリケーションに対してサポートされています。

[C#]
  ...
  // assume:
  // 1. A valid connection is made
  // 2. contains a file c:\MyDir\MyFile.txt
  OracleBFile oraBFile = new OracleBFile(con, "c:\\MyDir", "MyFile.txt");

  // Open the oraBFile
  oraBFile.Open();

  // Read some data
  ...
  int byteRead = oraBFile.Read(buffer, bufferOffset, amountToBeRead);

  // Search for the 2nd occurrence of a byte pattern '123'
  // from oraBFile starting at offset 1
  byte[] pattern = new byte[3] { 1,2,3 };
  int positionFound = oraBFile.Search(pattern, 1, 2);

  // Close the BFile
  oraBFile.CloseFile();
  ...
要件

ネームスペース: Oracle.DataAccess.Types

アセンブリ: Oracle.DataAccess.dll

関連項目:

OracleBFileのメンバー

OracleBFileのメンバーを次の表に示します。

OracleBFileのコンストラクタ

OracleBFileのコンストラクタを表5-147に示します。

表5-147 OracleBFileのコンストラクタ
コンストラクタ 説明

OracleBFileのコンストラクタ

OracleBFileクラスのインスタンスを作成します(オーバーロード)。

OracleBFileのstaticフィールド

OracleBFileのstaticフィールドを表5-148に示します。

表5-148 OracleBFileのstaticフィールド
フィールド 説明

MaxSize

BFILEが保持できるバイト数の最大値を保持します。最大値は4,294,967,295(232 - 1)バイトです。

OracleBFileのstaticメソッド

OracleBFileのstaticメソッドを表5-149に示します。

表5-149 OracleBFileのstaticメソッド
メソッド 説明

Equals

Objectから継承されます(オーバーロード)。

OracleBFileのインスタンス・プロパティ

OracleBFileのインスタンス・プロパティを表5-150に示します。

表5-150 OracleBFileのインスタンス・プロパティ
プロパティ 説明

CanRead

LOBストリームを読み込むことができるかどうかを示します。

CanSeek

順方向および逆方向のシーク操作を実行できるかどうかを示します。

CanWrite

LOBオブジェクトが書込みをサポートするかどうかを示します。

Connection

BFILEからの読込みに使用される接続を示します。

DirectoryName

BFILEのディレクトリ別名を示します。

FileExists

指定されたBFILEが存在するかどうかを示します。

FileName

BFILEの名前を示します。

IsEmpty

BFILEが空かどうかを示します。

IsOpen

BFILEがこのインスタンスでオープンされているかどうかを示します。

Length

BFILEデータのサイズをバイトで示します。

Position

LOBストリームの現在の読込み位置を示します。

Value

BFILEの最初のバイトから始まるデータをバイト配列として返します。

OracleBFileのインスタンス・メソッド

OracleBFileのインスタンス・メソッドを表5-151に示します。

表5-151 OracleBFileのインスタンス・メソッド
メソッド 説明

BeginRead

Streamから継承されます。

BeginWrite

サポートされていません。

Clone

OracleBFileオブジェクトのコピーを作成します。

Close

現在のストリームをクローズし、それに関連付けられたリソースを解放します。

CloseFile

現在のBFILEインスタンスによって参照されるBFILEをクローズします。

Compare

2つのOracleBFileによって参照されるデータを比較します。

CreateObjRef

MarshalByRefObjectから継承されます。

CopyTo

データを指定されたようにコピーします(オーバーロード)。

Dispose

このオブジェクトによって割り当てられたリソースを解放します。

EndRead

Streamから継承されます。

EndWrite

サポートされていません。

Equals

Objectから継承されます(オーバーロード)。

Flush

サポートされていません。

GetHashCode

Objectから継承されます。

GetLifetimeService

MarshalByRefObjectから継承されます。

GetType

Objectから継承されます。

InitializeLifetimeService

MarshalByRefObjectから継承されます。

IsEqual

LOB参照を比較します。

OpenFile

FileNameおよびDirectoryNameによって指定されたBFILEをオープンします。

Read

指定されたバイト数をOracleBFileインスタンスから読み込み、バッファに移入します。

ReadByte

Streamから継承されます。

Search

OracleBFileの現在のインスタンスでバイナリ・パターンを検索します。

Seek

現在のLOBストリームに位置を設定します。

SetLength

サポートされていません。

ToString

Objectから継承されます。

Write

サポートされていません。

WriteByte

サポートされていません。

関連項目:

OracleBFileのコンストラクタ

OracleBFileのコンストラクタは、OracleBFileクラスの新規インスタンスを作成します。

オーバーロード一覧:

OracleBFile(OracleConnection)

このコンストラクタは、OracleConnectionオブジェクトを使用してOracleBFileクラスのインスタンスを作成します。

宣言
// C#
public OracleBFile(OracleConnection con);
パラメータ
例外

InvalidOperationException: OracleConnectionがオープンされていないか、オブジェクトの存続期間中にクローズされました。

備考

接続は、アプリケーションで明示的にオープンされる必要があります。OracleBFileは、暗黙的に接続をオープンしません。

関連項目:

OracleBFile(OracleConnection, string, string)

このコンストラクタは、OracleConnectionオブジェクト、BFILEの場所およびBFILEの名前を使用してOracleBFileクラスのインスタンスを作成します。

宣言
// C#
public OracleBFile(OracleConnection con, string directoryName, string fileName);
パラメータ
例外

InvalidOperationException: OracleConnectionがオープンされていないか、オブジェクトの存続期間中にクローズされました。

備考

OracleConnectionは、アプリケーションで明示的にオープンされる必要があります。OracleBFileは、暗黙的に接続をオープンしません。

OracleBFileインスタンスをSQLのINSERT文の入力パラメータとして使用し、BFILE列を初期化するには、directoryNameおよびfileNameが適切に設定されている必要があります。

関連項目:

OracleBFileのstaticフィールド

OracleBFileのstaticフィールドを表5-152に示します。

表5-152 OracleBFileのstaticフィールド
フィールド 説明

MaxSize

BFILEが保持できるバイト数の最大値を保持します。最大値は4,294,967,295(232 - 1)バイトです。

関連項目:

MaxSize

このstaticフィールドは、BFILEが保持できるバイト数の最大値を保持します。最大値は4,294,967,295(232 - 1)バイトです。

宣言
// C#
public static readonly Int64 MaxSize = 4294967295;
備考

このフィールドは、操作が許容される最大長を超えるかどうかをチェックするコードで使用すると便利です。

関連項目:

OracleBFileのstaticメソッド

OracleBFileのstaticメソッドを表5-153に示します。

表5-153 OracleBFileのstaticメソッド
メソッド 説明

Equals

Objectから継承されます(オーバーロード)。

関連項目:

OracleBFileのインスタンス・プロパティ

OracleBFileのインスタンス・プロパティを表5-154に示します。

表5-154 OracleBFileのインスタンス・プロパティ
プロパティ 説明

CanRead

LOBストリームを読み込むことができるかどうかを示します。

CanSeek

順方向および逆方向のシーク操作を実行できるかどうかを示します。

CanWrite

LOBオブジェクトが書込みをサポートするかどうかを示します。

Connection

BFILEからの読込みに使用される接続を示します。

DirectoryName

BFILEのディレクトリ別名を示します。

FileExists

指定されたBFILEが存在するかどうかを示します。

FileName

BFILEの名前を示します。

IsEmpty

BFILEが空かどうかを示します。

IsOpen

BFILEがこのインスタンスでオープンされているかどうかを示します。

Length

BFILEデータのサイズをバイトで示します。

Position

LOBストリームの現在の読込み位置を示します。

Value

BFILEの最初のバイトから始まるデータをバイト配列として返します。

関連項目:

CanRead

Streamをオーバーライドします。

このインスタンス・プロパティは、LOBストリームを読み込むことができるかどうかを示します。

宣言
// C#
public override bool CanRead{get;}
プロパティ値

LOBストリームを読み込むことができる場合、trueを返します。それ以外の場合、falseを返します。

関連項目:

CanSeek

Streamをオーバーライドします。

このインスタンス・プロパティは、順方向および逆方向のシーク操作を実行できるかどうかを示します。

宣言
// C#
public override bool CanSeek{get;}
プロパティ値

順方向および逆方向のシーク操作を実行できる場合、trueを返します。それ以外の場合、falseを返します。

関連項目:

CanWrite

Streamをオーバーライドします。

このインスタンス・プロパティは、LOBオブジェクトが書込みをサポートするかどうかを示します。

宣言
// C#
public override bool CanWrite{get;}
プロパティ値

BFILEは読取り専用です。

備考

BFILEは読取り専用であるため、ブール値は常にfalseです。

関連項目:

Connection

このインスタンス・プロパティは、BFILEからの読込みに使用される接続を示します。

宣言
// C#
public OracleConnection Connection {get;}
プロパティ値

OracleConnectionのオブジェクト

例外

ObjectDisposedException: オブジェクトがすでに破棄されています。

関連項目:

DirectoryName

このインスタンス・プロパティは、BFILEのディレクトリ別名を示します。

宣言
// C#
public string DirectoryName {get;set;}
プロパティ値

string

例外

ObjectDisposedException: オブジェクトがすでに破棄されています。

InvalidOperationException: BFILEがオープンされている間に、DirectoryNameの値が変更されました。

備考

DirectoryNameの最大長は30バイトです。

関連項目:

FileExists

このインスタンス・プロパティは、DirectoryNameおよびFileNameによって指定されたBFILEが存在するかどうかを示します。

宣言
// C#
public bool FileExists {get;}
プロパティ値

bool

例外

ObjectDisposedException: オブジェクトがすでに破棄されています。

InvalidOperationException: OracleConnectionがオープンされていないか、オブジェクトの存続期間中にクローズされました。

備考

接続、ファイル名およびディレクトリ名が指定されないかぎり、このプロパティはデフォルトでfalseに設定されます。

関連項目:

FileName

このインスタンス・プロパティは、BFILEの名前を示します。

宣言
// C#
public string FileName {get;set}
プロパティ値

BFILE名を含むstring

例外

ObjectDisposedException: オブジェクトがすでに破棄されています。

InvalidOperationException: BFILEがオープンされている間に、DirectoryNameの値が変更されました。

備考

FileNameの最大長は255バイトです。

BFILEオブジェクトがオープンされている間にFileNameプロパティを変更すると、例外が発生します。

関連項目:

IsEmpty

このインスタンス・プロパティは、BFILEが空かどうかを示します。

宣言
// C#
public bool IsEmpty {get;}
プロパティ値

bool

例外

ObjectDisposedException: オブジェクトがすでに破棄されています。

関連項目:

IsOpen

このインスタンス・プロパティは、BFILEがこのインスタンスでオープンされているかどうかを示します。

宣言
// C#
public bool IsOpen {get;}
プロパティ値

bool

関連項目:

Length

Streamをオーバーライドします。

このインスタンス・プロパティは、BFILEデータのサイズをバイトで示します。

宣言
// C#
public override Int64 Length {get;}
プロパティ値

Int64

例外

ObjectDisposedException: オブジェクトがすでに破棄されています。

InvalidOperationException: OracleConnectionがオープンされていないか、オブジェクトの存続期間中にクローズされました。

関連項目:

Position

Streamをオーバーライドします。

このインスタンス・プロパティは、LOBストリームの現在の読込み位置を示します。

宣言
// C#
public override Int64 Position{get; set;}
プロパティ値

読込み位置を示すInt64

例外

ObjectDisposedException: オブジェクトがすでに破棄されています。

InvalidOperationException: OracleConnectionがオープンされていないか、オブジェクトの存続期間中にクローズされました。

ArgumentOutOfRangeException: 値が0より小さいです。

関連項目:

Value

このインスタンス・プロパティは、BFILEの最初のバイトから始まるデータをバイト配列として返します。

宣言
// C#
public byte[] Value{get;}
プロパティ値

バイト配列

例外

ObjectDisposedException: オブジェクトがすでに破棄されています。

InvalidOperationException: OracleConnectionがオープンされていないか、オブジェクトの存続期間中にクローズされました。

備考

データの長さは、バイト配列の最大長によって制約されます。Positionプロパティの現在の値は、使用または変更されません。

関連項目:

OracleBFileのインスタンス・メソッド

OracleBFileのインスタンス・メソッドを表5-155に示します。

表5-155 OracleBFileのインスタンス・メソッド
メソッド 説明

BeginRead

Streamから継承されます。

BeginWrite

サポートされていません。

Clone

OracleBFileオブジェクトのコピーを作成します。

Close

現在のストリームをクローズし、それに関連付けられたリソースを解放します。

CloseFile

現在のBFILEインスタンスによって参照されるBFILEをクローズします。

Compare

2つのOracleBFileによって参照されるデータを比較します。

CreateObjRef

MarshalByRefObjectから継承されます。

CopyTo

データを指定されたようにコピーします(オーバーロード)。

Dispose

このオブジェクトによって割り当てられたリソースを解放します。

EndRead

Streamから継承されます。

EndWrite

サポートされていません。

Equals

Objectから継承されます(オーバーロード)。

Flush

サポートされていません。

GetHashCode

Objectから継承されます。

GetLifetimeService

MarshalByRefObjectから継承されます。

GetType

Objectから継承されます。

InitializeLifetimeService

MarshalByRefObjectから継承されます。

IsEqual

LOB参照を比較します。

OpenFile

FileNameおよびDirectoryNameによって指定されたBFILEをオープンします。

Read

指定されたバイト数をOracleBFileインスタンスから読み込み、バッファに移入します。

ReadByte

Streamから継承されます。

Search

OracleBFileの現在のインスタンスでバイナリ・パターンを検索します。

Seek

現在のLOBストリームに位置を設定します。

SetLength

サポートされていません。

ToString

Objectから継承されます。

Write

サポートされていません。

WriteByte

サポートされていません。

関連項目:

Clone

このインスタンス・メソッドは、OracleBFileオブジェクトのコピーを作成します。

宣言
// C#
public object Clone();
戻り値

OracleBFileオブジェクト

実装

ICloneable

例外

ObjectDisposedException: オブジェクトがすでに破棄されています。

InvalidOperationException: OracleConnectionがオープンされていないか、オブジェクトの存続期間中にクローズされました。

備考

クローニングされたオブジェクトは、クローニング元のオブジェクトと同じプロパティ値を持ちます。

// C#
...
//Need a proper casting for the return value when cloned
OracleBFile oraBfile_cloned = (OracleBFile) oraBfile.Clone();
...

関連項目:

Close

Streamをオーバーライドします。

このインスタンス・メソッドは、現在のストリームをクローズし、それに関連付けられたリソースを解放します。

宣言
// C#
public override void Close();
例外

ObjectDisposedException: オブジェクトがすでに破棄されています。

InvalidOperationException: OracleConnectionがオープンされていないか、オブジェクトの存続期間中にクローズされました。

関連項目:

CloseFile

このインスタンス・メソッドは、現在のBFILEインスタンスによって参照されるBFILEをクローズします。

宣言
// C#
public void CloseFile();
備考

BFILEが存在してもオープンされていない場合、エラーは返されません。

関連項目:

Compare

このインスタンス・メソッドは、2つのOracleBFileによって参照されるデータを比較します。

宣言
// C#
public int Compare(Int64 src_offset, OracleBFile obj, Int64 dst_offset, Int64
amount);
パラメータ
戻り値

次の数値を返します。

例外

ObjectDisposedException: オブジェクトがすでに破棄されています。

InvalidOperationException: OracleConnectionがオープンされていないか、オブジェクトの存続期間中にクローズされました。

ArgumentOutOfRangeException: src_offsetdst_offsetまたはamount0より小さいです。

備考

指定されたオブジェクトおよび現在のインスタンスは、同じ接続、つまり同じOracleConnectionオブジェクトを使用している必要があります。

BFILEは、この操作の前にOpenFileを使用してオープンされている必要があります。

  // C#
  ...
  // Assume you have 2 valid files in C:\MyDir
  OracleBFile myBFile1 = new OracleBFile(con, "c:\\MyDir", "MyFile1.txt");
  OracleBFile myBFile2 = new OracleBFile(con, "c:\\MyDir", "MyFile2.txt");

  int src_offset = 10;
  int dst_offset = 20;
  int amount     = 5;

  int result = myBFile1.Compare(src_offset, myBFile2, dst_offset, amount);

  if ( result == 0 )
    Console.WriteLine("Identical");
  else
    Console.WriteLine("Not Identical");
  ...

関連項目:

CopyTo

CopyToは、現在のインスタンスから指定されたオブジェクトにデータをコピーします。

オーバーロード一覧:

CopyTo(OracleBlob)

このインスタンス・メソッドは、現在のインスタンスから指定されたOracleBlobオブジェクトにデータをコピーします。

宣言
// C#
public Int64 CopyTo(OracleBlob obj);
パラメータ
戻り値

返される値は、コピーされたデータ量です。

例外

ObjectDisposedException: オブジェクトがすでに破棄されています。

InvalidOperationException: この例外は、次の条件のいずれかに該当する場合にスローされます。

備考

指定されたオブジェクトおよび現在のインスタンスは、同じ接続、つまり同じOracleConnectionオブジェクトを使用している必要があります。

関連項目:

CopyTo(OracleBlob, Int64)

このインスタンス・メソッドは、現在のOracleBFileインスタンスから指定されたOracleBlobオブジェクトに、指定された宛先オフセットを使用してデータをコピーします。

宣言
// C#
public Int64 CopyTo(OracleBlob obj, Int64 dst_offset);
パラメータ
戻り値

返される値は、コピーされたデータ量です。

例外

ObjectDisposedException: オブジェクトがすでに破棄されています。

ArgumentOutOfRangeException: dst_offset0より小さいです。

InvalidOperationException: この例外は、次の条件のいずれかに該当する場合にスローされます。

備考

dst_offsetOracleBlobデータの終わりを超えている場合、dst_offsetと一致するまでOracleBlobに空白が書き込まれます。

オフセットは0ベースです。この操作では文字の変換は実行されません。

指定されたオブジェクトおよび現在のインスタンスは、同じ接続、つまり同じOracleConnectionオブジェクトを使用している必要があります。

関連項目:

CopyTo(Int64, OracleBlob, Int64, Int64)

このインスタンス・メソッドは、現在のOracleBFileインスタンスから指定されたOracleBlobオブジェクトに、指定されたソース・オフセット、宛先オフセットおよび文字数を使用してデータをコピーします。

宣言
// C#
public Int64 CopyTo(Int64 src_offset,OracleBlob obj,Int64 dst_offset, Int64
amount);
パラメータ
戻り値

返される値は、コピーされたデータ量です。

例外

ObjectDisposedException: オブジェクトがすでに破棄されています。

ArgumentOutOfRangeException: src_offsetdst_offsetまたはamount0より小さいです。

InvalidOperationException: この例外は、次の条件のいずれかに該当する場合にスローされます。

備考

dst_offsetOracleBlobデータの終わりを超えている場合、dst_offsetと一致するまでOracleBlobに空白が書き込まれます。

オフセットは0ベースです。この操作では文字の変換は実行されません。

指定されたオブジェクトおよび現在のインスタンスは、同じ接続、つまり同じOracleConnectionオブジェクトを使用している必要があります。

関連項目:

CopyTo(OracleClob)

このインスタンス・メソッドは、現在のOracleBFileインスタンスから指定されたOracleClobオブジェクトにデータをコピーします。

宣言
// C#
public Int64 CopyTo(OracleClob obj);
パラメータ
戻り値

返される値は、コピーされたデータ量です。

例外

ObjectDisposedException: オブジェクトがすでに破棄されています。

InvalidOperationException: この例外は、次の条件のいずれかに該当する場合にスローされます。

備考

指定されたオブジェクトおよび現在のインスタンスは、同じ接続、つまり同じOracleConnectionオブジェクトを使用している必要があります。

関連項目:

CopyTo(OracleClob, Int64)

このインスタンス・メソッドは、現在のOracleBFileインスタンスから指定されたOracleClobオブジェクトに、指定された宛先オフセットを使用してデータをコピーします。

宣言
// C#
public Int64 CopyTo(OracleClob obj, Int64 dst_offset);
パラメータ
戻り値

コピーされたデータ量

例外

ObjectDisposedException: オブジェクトがすでに破棄されています。

ArgumentOutOfRangeException: dst_offset0より小さいです。

InvalidOperationException: この例外は、次の条件のいずれかに該当する場合にスローされます。

備考

dst_offsetOracleClobデータの終わりを超えている場合、dst_offsetと一致するまでOracleClobに空白が書き込まれます。

オフセットは0ベースです。この操作では文字の変換は実行されません。

指定されたオブジェクトおよび現在のインスタンスは、同じ接続、つまり同じOracleConnectionオブジェクトを使用している必要があります。

関連項目:

CopyTo(Int64, OracleClob, Int64, Int64)

このインスタンス・メソッドは、現在のOracleBFileインスタンスから指定されたOracleClobオブジェクトに、指定されたソース・オフセット、宛先オフセットおよび文字数を使用してデータをコピーします。

宣言
// C#
public Int64 CopyTo(Int64 src_offset,OracleClob obj,Int64 dst_offset,Int64
amount);
パラメータ
戻り値

返される値は、コピーされたデータ量です。

例外

ObjectDisposedException: オブジェクトがすでに破棄されています。

ArgumentOutOfRangeException: src_offsetdst_offsetまたはamount0より小さいです。

InvalidOperationException: この例外は、次の条件のいずれかに該当する場合にスローされます。

備考

dst_offsetが現在のOracleClobデータの終わりを超えている場合、dst_offsetと一致するまでOracleClobに空白が書き込まれます。

オフセットは0ベースです。この操作では文字の変換は実行されません。

指定されたオブジェクトおよび現在のインスタンスは、同じ接続、つまり同じOracleConnectionオブジェクトを使用している必要があります。

関連項目:

Dispose

このインスタンス・メソッドは、このオブジェクトによって割り当てられたリソースを解放します。

宣言
// C#
public void Dispose();
実装

IDisposable

備考

引き続きアクセスできるプロパティもありますが、その値は保証されない場合があります。リソースは解放されているため、メソッドのコールにより例外が発生することがあります。オブジェクトは、破棄後に再利用することはできません。

関連項目:

IsEqual

このインスタンス・メソッドは、LOB参照を比較します。

宣言
// C#
public bool IsEqual(OracleBFile obj);
パラメータ
戻り値

現在のOracleBFileおよび指定されたOracleBFileオブジェクトが同じ外部LOBを参照している場合、trueを返します。それ以外の場合、falseを返します。

例外

ObjectDisposedException: オブジェクトがすでに破棄されています。

InvalidOperationException: OracleConnectionがオープンされていないか、オブジェクトの存続期間中にクローズされました。

備考

このメソッドは、2つのOracleBFileオブジェクトが==またはEquals()に対してfalseを返す場合でもtrueを返すことがあります。これは、2つの異なるOracleBFileインスタンスが同じ外部LOBを参照できるためです。

指定されたオブジェクトおよび現在のインスタンスは、同じ接続、つまり同じOracleConnectionオブジェクトを使用している必要があります。

関連項目:

OpenFile

このインスタンス・メソッドは、FileNameおよびDirectoryNameによって指定されたBFILEをオープンします。

宣言
// C#
public void OpenFile();
例外

ObjectDisposedException: オブジェクトがすでに破棄されています。

InvalidOperationException: OracleConnectionがオープンされていないか、オブジェクトの存続期間中にクローズされました。

備考

Compare()CopyTo()Read()およびSearch()などの多くの操作では、その操作の前にOpenFileを使用してBFILEがオープンされている必要があります。

オープンされたBFILEOpenFileをコールすることはできません。

関連項目:

Read

Streamをオーバーライドします。

このインスタンス・メソッドは、指定されたバイト数をOracleBFileインスタンスから読み込み、バッファに移入します。

宣言
// C#
public override int Read(byte[ ] buffer, int offset, int count);
パラメータ
戻り値

返される値は、BFILE、つまり外部LOBから読み込まれたバイト数を示します。

例外

ObjectDisposedException: オブジェクトがすでに破棄されています。

InvalidOperationException: OracleConnectionがオープンされていないか、オブジェクトの存続期間中にクローズされました。

ArgumentOutOfRangeException: offsetパラメータまたはcountパラメータのいずれかが0より小さい、offsetbuffer.Length以上、offsetおよびcountの両方がbuffer.Lengthより大きいのいずれかに該当しています。

備考

LOBデータは、Positionプロパティによって指定された位置から読込みが開始されます。

  // C#
  ...
  byte buffer         = new byte[1024];
  int  bufferOffset   = 10;
  int  amountToBeRead = 10;

  // Read some data
  int byteRead = oraBFile.Read(buffer, bufferOffset, amountToBeRead);
  ...

関連項目:

Search

このインスタンス・メソッドは、OracleBFileの現在のインスタンスでバイナリ・パターンを検索します。

宣言
// C#
public int Search(byte[ ] val, Int64 offset, Int64 nth);
パラメータ
戻り値

一致のnth番目の出現に対する、一致パターンの開始の絶対オフセット(バイト)を返します。それ以外の場合、0を返します。

例外

ObjectDisposedException: オブジェクトがすでに破棄されています。

InvalidOperationException: OracleConnectionがオープンされていないか、オブジェクトの存続期間中にクローズされました。

ArgumentOutOfRangeException: offset0より小さい、nth0以下、val.Length16383より大きい、nthOracleBFile.MaxSize以上、offsetOracleBFile.MaxSize以上のいずれかに該当しています。

備考

検索パターンの制限は16383バイトです。

// C#
...
// Search for the 2nd occurrence of a byte pattern '123'
// from oraBFile starting at offset 1
byte[] pattern = new byte[3] { 1,2,3 };
int positionFound = oraBFile.Search(pattern, 1, 2);
...

関連項目:

Seek

Streamをオーバーライドします。

このインスタンス・メソッドは、現在のLOBストリームに位置を設定します。

宣言
// C#
public override int64 Seek(Int64 offset, SeekOrigin origin);
パラメータ
戻り値

位置を示すInt64を返します。

例外

ObjectDisposedException: オブジェクトがすでに破棄されています。

InvalidOperationException: OracleConnectionがオープンされていないか、オブジェクトの存続期間中にクローズされました。

備考

offsetが負の場合、新しい位置はoriginによって指定された位置よりoffsetによって指定されたバイト数分だけ前に位置します。

offsetが0の場合、新しい位置はoriginによって指定された位置です。

offsetが正の場合、新しい位置はoriginによって指定された位置よりoffsetによって指定されたバイト数分だけ後に位置します。

SeekOrigin.Beginはストリームの開始を指定します。

SeekOrigin.Currentはストリーム内の現在の位置を指定します。

SeekOrigin.Endはストリームの終了を指定します。

// C#
 ...
// Set the Position to 5 bytes (with respect to SeekOrigin.Begin), read 10 bytes
// out, and put the data in a buffer with offset = 10 bytes
byte buffer         = new byte[1024];
int  bufferOffset   = 10;
int  amountToBeRead = 10;
// Seek
int newPosition = oraBFile.Seek(5, SeekOrigin.Begin);

// Read some data
int byteRead = oraBFile.Read(buffer, bufferOffset, amountToBeRead);
...


関連項目:


Go to previous page Go to beginning of chapter Go to next page
Oracle
Copyright © 2002, 2003 Oracle Corporation.

All Rights Reserved.
Go To Table Of Contents
目次
Go To Index
索引