Great. Thanks.

Tim.

On Mon, Feb 19, 2001 at 04:23:40PM -0600, Paul Walmsley wrote:
> 
> When DBD::Oracle 1.06 fetches a LOB from Oracle that is longer than
> LongReadLen and LongTruncOk is not set, it outputs an error message
> similar to this one:
> 
> DBD::Oracle::st fetchrow_array failed: ERROR fetching field 3 of 2. LOB
> value truncated from 199800 to 199800. DBI attribute LongReadLen too
> small and/or Long\TruncOk not set at (file name here).
> 
> Note the nonsensical  "truncated from 199800 to 199800" - this is due to a
> minor bug in oci8.c.  A patch is attached below.
> 
> 
> - Paul
> 
> --- oci8-orig.c       Mon Feb 19 14:58:51 2001
> +++ oci8.c    Mon Feb 19 14:59:55 2001
> @@ -551,7 +551,7 @@
>       else {
>           char buf[300];
>           sprintf(buf,"fetching field %d of %d. LOB value truncated from %ld to %ld. 
>%s",
> -                 fbh->field_num+1, DBIc_NUM_FIELDS(imp_sth), ul_t(amtp), ul_t(amtp),
> +                 fbh->field_num+1, DBIc_NUM_FIELDS(imp_sth), ul_t(loblen), 
>ul_t(amtp),
>                   "DBI attribute LongReadLen too small and/or LongTruncOk not set");
>           oci_error(sth, NULL, OCI_ERROR, buf);
>           sv_setiv(DBIc_ERR(imp_sth), (IV)24345); /* appropriate ORA error number */
> 
> 

Reply via email to