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 */
>
>