DataGridViewに表形式のデータ(Oracle Server DBに対するSQLクエリの結果)を表示できるWindowsフォームGUIをC#で作成しました。フィールドの1つはXMLであり、潜在的に非常に大きく、CLOB(私が正しい場合はCharacter Large OBject)として格納されます。もちろん、ユーザーはセルを直接見るのではなく、セルをダブルクリックして、ファイルがきれいに印刷されていることを確認します。問題は、ファイル(CLOB)を.NET文字列に変換する必要があることです。変換しないと、例外が生成されます。回避策として、Oracle to_charプロシージャを使用しようとしましたが、4000文字に制限されています。だから私はこのようなファイルの部分文字列を取ります:
select to_char(dbms_lob.substr(column_name, 4000, 1 ))
問題は、4000文字を超える場合、ファイル全体が表示されないことです。この制限を回避するにはどうすればよいですか?