ヘッダーをスキップ

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型)、16/19


OracleClobクラス

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


注意:

OracleClobオブジェクトは、.NET Frameworkのバイト配列を使用してCLOBデータを取得または書き込む際にクライアント側キャラクタ・セットを使用します。


クラスの継承

Object

  MarshalByRefObject

    Stream

      OracleClob

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

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

// C#
// Example demostrates Read, Append, Search, Write and, Erase APIs
// assume: A valid connection 'con'is created
OracleClob oraClob = new OracleClob(con);

// Read some data (in characters)
char buffer = new char[1024];
int  bufferOffset  = 10;
int  amountToBeRead = 10;

int charRead = oraClob.Read(buffer, bufferOffset, amountToBeRead);

// Search for the 2nd occurrence of a char pattern 'oracle'
// from the oraClob starting at offset 1
char[6] pattern = new char[6] { "o", "r", "a", "c", "l", "e" };
int positionFound = oraClob.Search(pattern, 1, 2);

// Append 2 char to the oraClob
oraClob.Append(new char[3] {"f", "o", "o"}, 1, 2);

// Write 32 char, starting at buffer offset 512
char[4096] buffer = new char[4096];
...
oraClob.Write(buffer, 512, 32);

// Erase 64 char of data starting at offset=1024
oraClob.Erase(1024,64);
...

要件

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

アセンブリ: Oracle.DataAccess.dll

関連項目:

OracleClobのメンバー

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

OracleClobのコンストラクタ

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

表5-165 OracleClobのコンストラクタ
コンストラクタ 説明

OracleClobのコンストラクタ

一時CLOBにバインドされたOracleClobクラスのインスタンスを作成します(オーバーロード)。

OracleClobのstaticフィールド

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

表5-166 OracleClobのstaticフィールド
フィールド 説明

MaxSize

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

OracleClobのstaticメソッド

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

表5-167 OracleClobのstaticメソッド
メソッド 説明

Equals

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

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

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

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

CanRead

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

CanSeek

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

CanWrite

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

Connection

CLOBデータの取得および書込みに使用されるOracleConnectionを示します。

IsEmpty

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

IsInChunkWriteMode

CLOBがオープンされているかどうかを示します。

IsNCLOB

OracleClobオブジェクトがNCLOBを表すかどうかを示します。

IsTemporary

現在のインスタンスが一時CLOBにバインドされているかどうかを示します。

Length

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

OptimumChunkSize

読込みまたは書込み操作時にサーバーから取得または送信するバイト数の最小値を示します。

Position

LOBストリームの現在の読込みまたは書込み位置をバイトで示します。

Value

CLOBまたはNCLOBの最初の文字から始まるデータを文字列として返します。

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

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

.
表5-169 OracleClobのインスタンス・メソッド
メソッド 説明

Append

データを現在のOracleClobインスタンスに追加します(オーバーロード)。

BeginChunkWrite

CLOBをオープンします。

BeginRead

Streamから継承されます。

BeginWrite

Streamから継承されます。

Clone

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

Close

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

Compare

現在のインスタンスによって参照されるデータと指定されたオブジェクトのデータを比較します。

CopyTo

データをOracleClobにコピーします(オーバーロード)。

CreateObjRef

MarshalByRefObjectから継承されます。

Dispose

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

EndChunkWrite

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

EndRead

Streamから継承されます。

EndWrite

Streamから継承されます。

Equals

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

Erase

指定されたデータ量を消去します(オーバーロード)。

Flush

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

GetHashCode

現在のインスタンスのハッシュ・コードを返します。

GetLifetimeService

MarshalByRefObjectから継承されます。

GetType

Objectから継承されます。

InitializeLifetimeService

MarshalByRefObjectから継承されます。

IsEqual

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

Read

現在のインスタンスから読み込みます(オーバーロード)。

ReadByte

Streamから継承されます。

Search

OracleClobの現在のインスタンスで文字パターンを検索します(オーバーロード)。

Seek

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

SetLength

CLOB値を切り捨てます。

ToString

Objectから継承されます。

Write

指定されたバッファをOracleClobに書き込みます(オーバーロード)。

WriteByte

Streamから継承されます。

関連項目:

OracleClobのコンストラクタ

OracleClobのコンストラクタは、一時CLOBにバインドされたOracleClobクラスのインスタンスを作成します。

オーバーロード一覧:

OracleClob(OracleConnection)

このコンストラクタは、OracleConnectionオブジェクトを使用し、一時CLOBにバインドされたOracleClobクラスのインスタンスを作成します。

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

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

備考

接続は、アプリケーションで明示的にオープンされる必要があります。OracleClobは、暗黙的に接続をオープンしません。一時CLOBは、指定された接続を利用してCLOBデータを格納します。デフォルトでは、キャッシュを使用できません。

関連項目:

OracleClob(OracleConnection, bool, bool)

このコンストラクタは、OracleConnectionオブジェクト、キャッシュ用のブール値、およびNCLOB用のブール値を使用し、一時CLOBにバインドされたOracleClobクラスのインスタンスを作成します。

宣言
// C#
public OracleClob(OracleConnection con, bool bCaching, bool bNCLOB);
パラメータ
例外

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

備考

接続は、アプリケーションで明示的にオープンされる必要があります。OracleClobは、暗黙的に接続をオープンしません。一時CLOBまたはNCLOBは、指定された接続を使用してCLOBデータを格納します。

関連項目:

OracleClobのstaticフィールド

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

表5-170 OracleClobのstaticフィールド
フィールド 説明

MaxSize

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

関連項目:

MaxSize

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

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

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

関連項目:

OracleClobのstaticメソッド

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

表5-171 OracleClobのstaticメソッド
メソッド 説明

Equals

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

関連項目:

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

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

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

CanRead

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

CanSeek

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

CanWrite

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

Connection

CLOBデータの取得および書込みに使用されるOracleConnectionを示します。

IsEmpty

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

IsInChunkWriteMode

CLOBがオープンされているかどうかを示します。

IsNCLOB

OracleClobオブジェクトがNCLOBを表すかどうかを示します。

IsTemporary

現在のインスタンスが一時CLOBにバインドされているかどうかを示します。

Length

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

OptimumChunkSize

読込みまたは書込み操作時にサーバーから取得または送信するバイト数の最小値を示します。

Position

LOBストリームの現在の読込みまたは書込み位置をバイトで示します。

Value

CLOBまたはNCLOBの最初の文字から始まるデータを文字列として返します。

関連項目:

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;}
プロパティ値

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

関連項目:

Connection

このインスタンス・プロパティは、CLOBデータの取得および書込みに使用されるOracleConnectionを示します。

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

OracleConnection

例外

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

関連項目:

IsEmpty

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

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

bool

例外

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

関連項目:

IsInChunkWriteMode

このインスタンス・プロパティは、索引の更新を遅延させるためにCLOBがオープンされているかどうかを示します。

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

CLOBがオープンされている場合、trueを返します。それ以外の場合、falseを返します。

関連項目:

IsNCLOB

このインスタンス・プロパティは、OracleClobオブジェクトがNCLOBを表すかどうかを示します。

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

bool

関連項目:

IsTemporary

このインスタンス・プロパティは、現在のインスタンスが一時CLOBにバインドされているかどうかを示します。

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

bool

関連項目:

Length

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

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

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

CLOBのサイズをバイトで示すInt64

例外

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

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

関連項目:

OptimumChunkSize

このインスタンス・プロパティは、読込みまたは書込み操作時にサーバーから取得または送信するバイト数の最小値を示します。

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

取得または送信するバイト数の最小値を表す数値

例外

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

関連項目:

Position

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

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

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

読込みまたは書込み位置を示すInt64

例外

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

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

ArgumentOutOfRangeException: Position0より小さいです。

関連項目:

Value

このインスタンス・プロパティは、CLOBまたはNCLOBの最初の文字から始まるデータを文字列として返します。

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

文字列

例外

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

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

ArgumentOutOfRangeException: Value0より小さいです。

備考

Positionの値は、このプロパティを使用しても使用または変更されません。

このプロパティによって返される文字列の最大長は2GBです。

関連項目:

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

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

表5-173 OracleClobのインスタンス・メソッド
メソッド 説明

Append

データを現在のOracleClobインスタンスに追加します(オーバーロード)。

BeginChunkWrite

CLOBをオープンします。

BeginRead

Streamから継承されます。

BeginWrite

Streamから継承されます。

Clone

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

Close

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

Compare

現在のインスタンスによって参照されるデータと指定されたオブジェクトのデータを比較します。

CopyTo

データをOracleClobにコピーします(オーバーロード)。

CreateObjRef

MarshalByRefObjectから継承されます。

Dispose

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

EndChunkWrite

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

EndRead

Streamから継承されます。

EndWrite

Streamから継承されます。

Equals

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

Erase

指定されたデータ量を消去します(オーバーロード)。

Flush

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

GetHashCode

現在のインスタンスのハッシュ・コードを返します。

GetLifetimeService

MarshalByRefObjectから継承されます。

GetType

Objectから継承されます。

InitializeLifetimeService

MarshalByRefObjectから継承されます。

IsEqual

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

Read

現在のインスタンスから読み込みます(オーバーロード)。

ReadByte

Streamから継承されます。

Search

OracleClobの現在のインスタンスで文字パターンを検索します(オーバーロード)。

Seek

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

SetLength

CLOB値を切り捨てます。

ToString

Objectから継承されます。

Write

指定されたバッファをOracleClobに書き込みます(オーバーロード)。

WriteByte

Streamから継承されます。

関連項目:

Append

このインスタンス・メソッドは、データを現在のOracleClobインスタンスに追加します。

オーバーロード一覧:

Append(OracleClob)

このインスタンス・メソッドは、指定されたOracleClobオブジェクトによって参照されるCLOBデータを現在のOracleClobインスタンスに追加します。

宣言
// C#
public void Append(OracleClob obj);
パラメータ
例外

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

InvalidOperationException: パラメータがオブジェクトとは異なる接続を使用しているか、OracleConnectionがオープンされていないか、またはOracleConnectionが再オープンされています。

備考

キャラクタ・セットの変換は行われません。

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

関連項目:

Append(byte [ ], int, int)

このインスタンス・メソッドは、指定されたバイト配列バッファからCLOBの終わりに、指定されたバイト配列バッファのオフセット(バイト)から始まるデータを追加します。

宣言
// C#
public int Append(byte[] buffer, int offset, int count);
パラメータ
例外

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

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

ArgumentOutOfRangeException: offsetパラメータまたはcountパラメータのいずれかが偶数ではありません。

備考

offsetcount両方ともCLOBおよびNCLOBに対して偶数である必要があります。これは、2バイトごとにUnicode文字を表すためです。

関連項目:

Append(char [ ], int, int)

このインスタンス・メソッドは、指定された文字配列バッファから現在のOracleClobインスタンスの終わりに、指定された文字バッファのオフセット(文字)から始まるデータを追加します。

宣言
// C#
public void Append(char[] buffer, int offset, int count);
パラメータ
例外

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

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

// C#
...
// Append 2 char to the oraClob
oraClob.Append(new char[3] {"f", "o", "o"}, 1, 2);
...

関連項目:

BeginChunkWrite

このインスタンス・メソッドは、CLOBをオープンします。

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

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

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

備考

BeginChunkWriteは、CLOBデータを操作する前にコールする必要はありません。これはパフォーマンス上の理由で提供されています。

このメソッドがコールされると、書込み操作によって列のドメイン索引またはファンクション索引が更新されることはありません。索引の更新は、EndChunkWriteがコールされた後に1回だけ発生します。

関連項目:

Clone

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

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

OracleClobオブジェクト

実装

ICloneable

例外

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

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

備考

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

// C#
...
//Need a proper casting for the return value when cloned
OracleClob oraClob_cloned = (OracleClob) oraClob.Clone();
...

関連項目:

Close

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

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

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

関連項目:

Compare

このインスタンス・メソッドは、現在のインスタンスによって参照されるデータと指定されたオブジェクトのデータを比較します。

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

このメソッドは、次の数値を返します。

例外

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

InvalidOperationException: パラメータがオブジェクトとは異なる接続を使用しているか、OracleConnectionがオープンされていないか、またはOracleConnectionが再オープンされています。

ArgumentOutOfRangeException: src_offsetパラメータ、dst_offsetパラメータまたはamountパラメータのいずれかが0より小さいです。

備考

比較される2つのOracleClobオブジェクトのキャラクタ・セットは、比較を意味のあるものにするため同じである必要があります。

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

関連項目:

CopyTo

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

オーバーロード一覧:

CopyTo(OracleClob)

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

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

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

例外

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

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

備考

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

関連項目:

CopyTo(OracleClob, Int64)

このインスタンス・メソッドは、現在のOracleClobインスタンスから指定された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)

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

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

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

例外

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

InvalidOperationException: パラメータがオブジェクトとは異なる接続を使用しているか、OracleConnectionがオープンされていないか、またはOracleConnectionが再オープンされています。

ArgumentOutOfRangeException: src_offsetパラメータ、dst_offsetパラメータまたはamountパラメータが0より小さいです。

備考

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

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

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

// C#
...
// Assume you have a valid connection 'con'
OracleClob src_clob = new OracleClob(con);
OracleClob target_clob = new OracleClob(con);

// Copy 1024 chars from src_clob (begin at offset 10) to target_blob
// (starting at offset 5)
src_clob.CopyTo(10, target_clob, 5, 1024);
...

関連項目:

Dispose

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

宣言
public void Dispose();
実装

IDisposable

備考

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

関連項目:

EndChunkWrite

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

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

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

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

備考

索引の更新は、BeginChunkWriteメソッドによって書込み操作が遅延されるとすぐに発生します。

関連項目:

Erase

Eraseは、データの一部またはすべてを消去します。

オーバーロード一覧:

Erase()

このインスタンス・メソッドは、すべてのデータを消去します。

宣言
// C#
public Int64 Erase();
戻り値

消去された文字数

関連項目:

Erase(Int64, Int64)

このインスタンス・メソッドは、指定されたオフセットから始まる指定されたデータ量(文字)を0バイトの充填文字(文字)で置換します。

宣言
// C#
public Int64 Erase(Int64 offset, Int64 amount);
パラメータ
戻り値

消去された実際の文字数

例外

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

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

ArgumentOutOfRangeException: offsetパラメータまたはamountパラメータが0より小さいです。

関連項目:

GetHashCode

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

このメソッドは、現在のインスタンスのハッシュ・コードを返します。

宣言
// C#
public override int GetHashCode();
戻り値

ハッシュ・コードを表すint

関連項目:

IsEqual

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

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

現在のOracleClobと指定されたOracleClobが同じLOBを参照している場合、trueを返します。それ以外の場合、falseを返します。

備考

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

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

関連項目:

Read

Readは、指定されたデータ量を現在のインスタンスから読み込み、配列バッファに移入します。

オーバーロード一覧:

Read(byte [ ], int, int)

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

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

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

CLOBから読み込まれたバイト数

例外

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

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

備考

offsetcount両方ともCLOBおよびNCLOBに対して偶数である必要があります。これは、2バイトごとにUnicode文字を表すためです。

LOBデータは、Positionプロパティによって指定された位置から読込みが開始されます。このプロパティも偶数である必要があります。

OracleClobは、ストリームの終わりに達していない場合でも、要求されたバイト数より少ないバイト数を返すことができます。

関連項目:

Read(char [ ], int, int)

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

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

返される値は、CLOBから読み込まれた文字数を示します。

例外

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

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

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

備考

すべてのCLOBデータおよびNCLOBデータをUnicodeとして処理します。

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

// C#
...
// Read some data (in characters)
char buffer = new char[1024];
int  bufferOffset  = 10;
int amountToBeRead = 10;

int charRead = oraClob.Read(buffer, bufferOffset, amountToBeRead);
...

関連項目:

Search

Searchは、OracleClobの現在のインスタンスで文字パターンを検索します。

オーバーロード一覧:

Search(byte[ ], Int64, Int64)

このインスタンス・メソッドは、OracleClobの現在のインスタンスで、バイト配列で表される文字パターンを検索します。

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

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

例外

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

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

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

備考

byte[ ]は、検索が行われる前にUnicodeに変換されます。

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

関連項目:

Search(char[ ], Int64, Int64)

このインスタンス・メソッドは、OracleClobの現在のインスタンスで文字パターンを検索します。

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

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

例外

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

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

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

備考

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

// C#
..
// Search for the 2nd occurrence of a char pattern 'oracle'
// from the oraClob starting at offset 1
char[6] pattern = new char[6] { "o", "r", "a", "c", "l", "e" };
int positionFound = oraClob.Search(pattern, 1, 2);
...

関連項目:

Seek

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

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

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

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

例外

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

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

備考

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

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

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

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

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

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

関連項目:

SetLength

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

このインスタンス・メソッドは、指定された長さ(文字)にCLOB値を切り捨てます。

宣言
// C#
public override void SetLength(Int64 newlen);
パラメータ
例外

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

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

ArgumentOutOfRangeException: newlenパラメータが0より大きいです。

関連項目:

Write

このインスタンス・メソッドは、指定された配列バッファのデータをOracleClobに書き込みます。

オーバーロード一覧:

Write(byte[ ], int, int)

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

このインスタンス・メソッドは、指定されたバイト配列バッファのデータをOracleClobに書き込みます。

宣言
// C#
public override void Write(byte[ ] buffer, int offset, int count);
パラメータ
例外

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

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

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

備考

offsetcount両方ともCLOBおよびNCLOBに対して偶数である必要があります。これは、2バイトごとにUnicode文字を表すためです。

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

必要に応じて、クライアント・キャラクタ・セットからデータベース・キャラクタ・セットへの適切なデータ変換が実行されます。

関連項目:

Write(char[ ], int, int)

このインスタンス・メソッドは、指定された文字配列バッファのデータをOracleClobに書き込みます。

宣言
// C#
public void Write(char[ ] buffer, int offset, int count);
パラメータ
例外

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

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

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

備考

すべてのCLOBデータおよびNCLOBデータをUnicodeとして処理します。

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

必要に応じて、クライアント・キャラクタ・セットからデータベース・キャラクタ・セットへの適切なデータ変換が実行されます。

// C#
...
// Begin ChunkWrite to improve performance
// Index updates occur only once after EndChunkWrite
oraClob.BeginChunkWrite();

// Set the write from the beginning;
oraClob.Position = 0;

// Write to the oraClob in chunks of 10, each 1024 char
for ( int i=0; i<10; i++ )
 {
   char[1024] c;
   c = c[0]= a;    // some new value to be written
   oraClob.Write(c, 0, c.Length);
 }

oraClob.EndChunkWrite();
...

関連項目:


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
索引