| Oracle® Data Provider for .NET開発者ガイド リリース9.2.0.4 部品番号 B13807-01 |
|
Oracle.DataAccess.Typesネームスペース(ODP.NET型)、18/19
OracleXmlStreamオブジェクトは、OracleXmlTypeオブジェクトに格納された読取り専用ストリームのXMLデータを表します。
Object
MarshalByRefObject
Stream
OracleXmlStream
// C# public sealed class OracleXmlStream : IDisposable, ICloneable
インスタンス・メソッドではスレッド・セーフティを保証しませんが、すべてのpublic staticメソッドはスレッド・セーフです。
// C#
ネームスペース: Oracle.DataAccess.Types
アセンブリ: Oracle.DataAccess.dll
このクラスは、Oracle9i リリース2(9.2)以上でのみ使用できます。
OracleXmlStreamのメンバーを次の表に示します。
OracleXmlStreamのコンストラクタを表5-180に示します。
| コンストラクタ | 説明 |
|---|---|
|
|
OracleXmlStreamのstaticメソッドを表5-181に示します。
| メソッド | 説明 |
|---|---|
|
|
|
OracleXmlStreamのインスタンス・プロパティを表5-182に示します。
OracleXmlStreamのインスタンス・メソッドを表5-183に示します。
このコンストラクタは、OracleXmlTypeに格納されたStream表現のXMLデータを提供するOracleXmlStreamオブジェクトのインスタンスを作成します。
// C# public OracleXmlStream(OracleXmlType xmlType);
OracleXmlStreamは、構成元となったOracleXmlTypeオブジェクトのOracleConnectionオブジェクトを暗黙的に使用します。
OracleXmlStreamのstaticメソッドを表5-184に示します。
| メソッド | 説明 |
|---|---|
|
|
|
OracleXmlStreamのインスタンス・プロパティを表5-185に示します。
Streamをオーバーライドします。
このプロパティは、XMLストリームを読み込むことができるかどうかを示します。
// C# public override bool CanRead{get;}
XMLストリームを読み込むことができる場合、trueを返します。それ以外の場合、falseを返します。
Streamをオーバーライドします。
このプロパティは、順方向および逆方向のシーク操作を実行できるかどうかを示します。
// C# public override bool CanSeek{get;}
順方向および逆方向のシーク操作を実行できる場合、trueを返します。それ以外の場合、falseを返します。
このインスタンス・プロパティは、XMLデータの取得に使用されるOracleConnectionを示します。
// C# public OracleConnection Connection {get;}
OracleConnection
ObjectDisposedException: オブジェクトがすでに破棄されています。
Streamをオーバーライドします。
このプロパティは、XMLストリームのバイト数を示します。
// C# public override Int64 Length{get;}
XMLストリームのバイト数を表すInt64値。空のストリームの長さは0バイトです。
ObjectDisposedException: オブジェクトがすでに破棄されています。
InvalidOperationException: OracleConnectionがオープンされていないか、オブジェクトの存続期間中にクローズされました。
Streamをオーバーライドします。
このプロパティは、ストリーム内のバイト位置を取得または設定します。
// C# public override Int64 Position{get; set;}
ストリームの現在の位置を示すInt64
ObjectDisposedException: オブジェクトがすでに破棄されています。
InvalidOperationException: OracleConnectionがオープンされていないか、オブジェクトの存続期間中にクローズされました。
ArgumentOutOfRangeException: Positionが0より小さいです。
ストリームの開始位置は0で表されます。ストリームの長さを超える位置のシークはサポートされます。
このプロパティは、ストリームの最初の文字から始まるXMLデータを文字列として返します。
// C# public string Value{get; set;}
string
ObjectDisposedException: オブジェクトがすでに破棄されています。
InvalidOperationException: OracleConnectionがオープンされていないか、オブジェクトの存続期間中にクローズされました。
Positionの値は、このプロパティを使用しても使用または変更されません。
このプロパティによって返される文字列の最大長は2GBです。
OracleXmlStreamのインスタンス・メソッドを表5-186に示します。
このメソッドは、OracleXmlStreamオブジェクトのコピーを作成します。
// C# public object Clone();
OracleXmlStreamオブジェクト
ICloneable
ObjectDisposedException: オブジェクトがすでに破棄されています。
InvalidOperationException: OracleConnectionがオープンされていないか、オブジェクトの存続期間中にクローズされました。
クローニングされたオブジェクトは、クローニング元のオブジェクトと同じプロパティ値を持ちます。
// C# ... //Need a proper casting for the return value when cloned OracleXmlStream oraXmlStream_cloned = (OracleXmlStream) oraXmlStream.Clone(); ...
Streamをオーバーライドします。
このメソッドは、現在のストリームをクローズし、それに関連付けられたリソースを解放します。
// C# public override void Close();
このpublicメソッドは、このオブジェクトによって割り当てられたリソースを解放します。
// C# public void Dispose();
IDisposable
オブジェクトは、破棄後に再利用することはできません。引き続きアクセスできるプロパティもありますが、その値は保証されない場合があります。リソースは解放されているため、メソッドのコールにより例外が発生することがあります。
このメソッドは、指定されたデータ量を現在のXMLストリームのインスタンスから読み込み、配列バッファに移入します。
このメソッドは、指定されたUnicodeバイト数を現在のインスタンスから読み込み、ストリーム内の位置を進め、バイト配列バッファに移入します。
このメソッドは、指定された文字数を現在のインスタンスから読み込み、ストリーム内の位置を進め、文字配列バッファに移入します。
Streamをオーバーライドします。
このメソッドは、指定されたUnicodeバイト数を現在のインスタンスから読み込み、ストリーム内の位置を進め、バイト配列バッファに移入します。
// C# public override int Read(byte[ ] buffer, int offset, int count);
指定されたbyte[]バッファに読み込まれたUnicodeバイト数、またはストリームの終わりに達した場合は0
このメソッドは、最大バイト数countを現在のストリームから読み込み、offsetから始まるバッファに格納します。ストリーム内の現在の位置は、読み込まれたバイト数の分だけ進みます。ただし、例外が発生した場合、ストリーム内の現在の位置は変らないままです。
XMLデータは、Positionプロパティによって指定された位置から読み込まれます。
ObjectDisposedException: オブジェクトがすでに破棄されています。
InvalidOperationException: OracleConnectionがオープンされていないか、オブジェクトの存続期間中にクローズされました。
Streamをオーバーライドします。
このメソッドは、指定された文字数を現在のインスタンスから読み込み、ストリーム内の位置を進め、文字配列バッファに移入します。
// C# public override int Read(char[ ] buffer, int offset, int count);
戻り値は、ストリームから読み込まれた文字数、またはストリームの終わりに達した場合は0を示します。
ObjectDisposedException: オブジェクトがすでに破棄されています。
InvalidOperationException: OracleConnectionがオープンされていないか、オブジェクトの存続期間中にクローズされました。
このメソッドでは、ストリームのインスタンスのPositionが0または偶数である必要があります。
XMLデータは、Positionプロパティによって指定された位置から読み込まれます。
Streamをオーバーライドします。
このメソッドは、現在のストリームに位置を設定し、現在のストリームの新しい位置を返します。
// C# public long Seek(long offset, SeekOrigin origin);
現在のストリーム内の新しい位置
ObjectDisposedException: オブジェクトがすでに破棄されています。
InvalidOperationException: OracleConnectionがオープンされていないか、オブジェクトの存続期間中にクローズされました。
CanSeekプロパティを使用して、現在のインスタンスでシークがサポートされるかどうかを判断します。ストリームの長さを超える位置のシークはサポートされます。
|
|
![]() Copyright © 2002, 2003 Oracle Corporation. All Rights Reserved. |
|