OracleLob.SetLength メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > OracleLob.SetLength メソッドの意味・解説 

OracleLob.SetLength メソッド

OracleLob ストリーム長さを、現在の長さより短い値に設定します

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

Public Overrides Sub SetLength
 ( _
    value As Long _
)
Dim instance As OracleLob
Dim value As Long

instance.SetLength(value)
public void SetLength (
    long value
)

パラメータ

value

現在の OracleLob ストリーム希望長さ (バイト数)。CLOB 型および NCLOB 型の場合、これは偶数である必要があります

例外例外
例外種類条件

ArgumentOutOfRangeException

value パラメータCLOB または NCLOB データ型指定した値が偶数ではありません。

または

value指定したパラメータの値が 0 未満であるか、4 GB超えてます。

InvalidOperationException

操作トランザクション内で実行されていないか、OracleLob オブジェクトnull か、または接続閉じられています。

ObjectDisposedException

オブジェクト閉じられているか、破棄されています。

OracleException

Oracle エラー発生しました

解説解説

OracleLob ストリーム長さ増やそうとすると失敗しOracle サーバーから "Message: ORA-22926: 指定され切り捨て長さ現行の LOB 値の長さ超えてます。" が返されます。

SetLength機能するためには、ストリーム書き込みシーク両方サポートしていることが必要です。

.NET Framework Oracleデータ プロバイダは、すべての CLOB データおよび NCLOB データUnicode として処理します。したがってCLOB 型および NCLOB 型では 1 文字2 バイトとなるため、これらにアクセスするときは常に複数バイトを扱うことになります。たとえば、3 文字から成る文字列が、1 文字が 4 バイト文字セット使用している Oracle サーバーNCLOB として保存されていて、SetLength 操作実行する場合文字列サーバー12 バイトとして格納されていますが、文字列長さは 6 バイト指定します

LOB書き込むには、SQL SELECT ステートメントで FOR UPDATE 句を使用して LOB取得する必要があり、さらにローカル トランザクション開始している必要があります

メモメモ

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

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
OracleLob クラス
OracleLob メンバ
System.Data.OracleClient 名前空間



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

辞書ショートカット

すべての辞書の索引

OracleLob.SetLength メソッドのお隣キーワード
検索ランキング

   

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



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

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

©2025 GRAS Group, Inc.RSS