web-dev-qa-db-ja.com

エラー-ORA-22835:CLOBからCHARまたはBLOBからRAWへの変換にはバッファが小さすぎます

Blobメッセージを読み取って、プロシージャの1つで変数として表示しようとしていますが、以下のエラーが発生します。

エラー-ORA-22835:CLOBからCHARまたはBLOBからRAWへの変換にはバッファーが小さすぎます(実際:9923、最大:2000)

私はググって、以下のようにblobメッセージをトリミングする提案を見つけましたが、むしろ完全なblobメッセージを文字列として表示したいと思います。

UTL_RAW.CAST_TO_VARCHAR2(dbms_lob.substr(variable_name,2000,1)) 

メッセージ全体を表示するにはどうすればよいですか?変更できるデータベースレベルまたはプロシージャレベルの設定はありますか?

14
kumarb

で説明されているオプションを使用してこれを機能させました

http://www.dba-Oracle.com/t_convert_blob_varchar_datatype.htm

5
kumarb

文字列をトリミングするのではなく、DBMS_LOB.GETLENGTH()を使用してみてください