次の方法で共有


OracleLob.Erase メソッド (Int64, Int64)

メモ : この名前空間、クラス、およびメンバは、.NET Framework Version 1.1 だけでサポートされています。

この OracleLob から、指定したサイズのデータを消去します。

Overloads Public Function Erase( _
   ByVal offset As Long, _   ByVal amount As Long _) As Long
[C#]
public long Erase(longoffset,longamount);
[C++]
public: __int64 Erase(__int64offset,__int64amount);
[JScript]
public function Erase(
   offset : long,amount : long) : long;

パラメータ

  • offset
    消去対象のオフセット。 CLOB 型および NCLOB 型の場合、これは偶数である必要があります。
  • amount
    消去するデータのサイズ (バイト単位)。 CLOB 型および NCLOB 型の場合、これは偶数である必要があります。

戻り値

消去したバイト数。

例外

例外の種類 条件
ArgumentOutOfRangeException offset パラメータまたは count パラメータの値が正の値ではありません。

または

offset パラメータと count パラメータの合計値が、バッファ長を超えています。

または

amount パラメータまたは offset パラメータに指定された値が 0 より小さいか、4 GB を超えています。

InvalidOperationException LOB に書き込むには、トランザクション内でこの操作を実行する必要があります。

または

OracleLob オブジェクトが null です。

または

接続が閉じています。

ObjectDisposedException オブジェクトが閉じられているか、破棄されています。
OracleException Oracle エラーが発生しました。

解説

offset パラメータと amount パラメータの値の合計は、 OracleLob のサイズより大きくすることができます。そのため、 Length プロパティから返された値より大きい値を指定しても、処理は正常に実行されます。ただし、 Erase によって変換されるのは、 OracleLob の末尾までだけです。この動作は、 Read メソッド、および Write メソッドの動作とは異なり、実際のサイズを確認するためのサーバーへの余分なラウンドトリップなしで、 offset で指定した値からすべての値を消去できるという利点があります。

Erase は、データを切り捨てません。 LOB の長さは BLOB データ型の長さと同じままで、消去されたデータは 0x00 に置き換えられます。 CLOB データ型と NCLOB データ型は、空白に置き換えられます。

メモ   このリリースでは、読み取り専用の LOB に対する書き込み操作が成功する可能性がありますが、サーバー上の LOB は更新されません。ただし、この場合、 LOB のローカル コピーは更新されます。したがって、 OracleLob オブジェクトに対するその後の読み取り操作では、書き込み操作の結果が返される可能性があります。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

.NET Framework セキュリティ:

参照

OracleLob クラス | OracleLob メンバ | System.Data.OracleClient 名前空間 | OracleLob.Erase オーバーロードの一覧