2011-02-22 3 views
5

CFQueryを使用して、Oracle DBからCLOBフィールドを取り出します。 CLOBフィールドに〜8000未満のデータが含まれている場合、値(o/p)が取得されていることがわかりますが、CLOBフィールドのサイズが8000文字を超える場合は値を取得しません。 in <cfdump>値はOracle DBに存在しますが、「空の文字列」として取得された問合せが表示されます。CFQueryを使用したロング・テキスト(CLOB)の再取得

私は、CFadimコンソールでOracleドライバを使用しています 有効にする '長いテキストの取得(CLOB)を有効にする'。および「バイナリー・ラージ・オブジェクト取得(BLOB)を使用可能にする」を参照してください。 ' ' Long Text Buffer(chr) 'と' Blob Buffer(bytes) 'の値を6400000に設定します。

全文を取得するにはどうすればよいですか?

+0

デフォルトは64,000ではなく、640万に設定されていますか? 64,000だったら、8000文字= 64,000バイトだと分かりました。 いずれにしても、値を大きくしてサービスを再開すると違いが出ますか? – eapen

答えて

9

データソース設定でCLOBフィールドを有効にしましたか? あなたがしていないことを確認してください。

  • 選択したデータソース
  • 編集あなたのデータソース
  • クリックColdFusionの管理者に

    1. ゴー高度な設定
    2. 上のデータソース

    保存します "を有効にCLOB"

  • をチェックこのためにCFを再起動する必要はありません。

  • +0

    検索目的のために、私はデータベースにPDFを保存していましたが、それらを取得または表示できませんでした。私は「pdf-」または「-pdf」というエラーを出し続けました。とにかく、この回答ごとの設定を有効にすると、私の問題は解決しました。 – HPWD

    +0

    私のために働いた。この変更を行う前に、私は64000バイトしか受信せず、ページに切り捨てられたjpegが表示されました。今私は全体像を受け取る。 – Leonard

    0

    問題の解決策が見つかったのかどうかわかりませんが、私にとってはドライバの問題です.jdbcドライバを更新する必要があります。このテクニカルノートをご覧くださいUpdated DataDirect JDBC drivers (version 3.4)

    関連する問題