2011-02-22 16 views
5

Sto usando CFQuery per recuperare il campo CLOB dal DB Oracle. Se il file CLOB contiene i dati meno di ~ 8000, allora posso vedere il valore recuperato (l'o/p), tuttavia Se il valore nella dimensione del campo CLOB è superiore a 8000 caratteri, non si recupera il valore. in <cfdump> posso vedere la query recuperata come 'stringa vuota' anche se il valore esiste nel DB Oracle.retreving long text (CLOB) usando CFQuery

Sto utilizzando il driver Oracle nella console CFadim abilitato 'Abilita il richiamo di testo lungo (CLOB).' e 'Abilita recupero oggetti binari di grandi dimensioni (BLOB). ' impostare i valori' Long Text Buffer (chr) 'e' Blob Buffer (bytes) 'su 6400000

eventuali suggerimenti per recuperare il testo completo?

+0

Sei sicuro che sia impostato su 6.400.000 e non sui 64.000 predefiniti? Se fosse 64.000 avrei capito che gli 8000 caratteri = 64.000 byte. In entrambi i casi, l'aumento del valore a una dimensione maggiore e il riavvio dei servizi fanno la differenza? – eapen

risposta

9

Hai abilitato i campi CLOB nella configurazione dell'origine dati? Se non ci si assicura.

  1. Vai a ColdFusion Administrator
  2. selezionare origini dati
  3. modificare i tuoi origine dati
  4. click sulle impostazioni avanzate
  5. controllo "attivare clob"
  6. Salva origine dati

È non dovrebbe essere necessario riavviare CF per questo.

+0

Solo a scopo di ricerca, stavo archiviando i PDF nel database ma non ero in grado di recuperarli o visualizzarli. Ho continuato a ricevere un errore "pdf-" o "-pdf". Ad ogni modo, abilitare l'impostazione per questa risposta ha risolto il mio problema. – HPWD

+0

Ha funzionato anche per me. Prima di apportare questa modifica, ho ricevuto solo 64000 byte e la pagina mostrava un jpeg troncato. Ora ricevo l'intera immagine. – Leonard