Hi, We are *sporadically* getting the following error when accessing a table with a single CLOB column (on DBI 1.607 and DBD::Oracle 1.22):
DBD ERROR: Can't match some parameters to LOB fields in the table, check type and name This is what we use to bind the data to the CLOB for our UPDATE statement: $st->bind_param(3,'long string of text...',{TYPE => SQL_CLOB,ora_field => 'last_output'}); I know that the above line of code is right, because it worked perfectly in Perl 5.8, and because it works most of the time in Perl 5.10. So since this is sporadic, and it happens at random times (even if we do the same thing over and over in a row from the beginning), there is no way to give you a script to reproduce this. However, I did do some digging into oci8.c to put some debugging messages to narrow down exactly where this is happening, and I discovered that on the rare occasion that this does crash, it is because the 'matched' flag on line 3540 is not getting set because the while loop it's in 'continue's (causing it to leave the while loop) at line 3518 due to this conditional: if (SvCUR(phs->ora_field) != SvCUR(sv) || ibcmp(ora_field_name, SvPV(sv,na), (I32)SvCUR(sv))) continue; So I did a dump of all the players here, and discovered that the variable 'sv' is "last_output" (which is the name of our column) every time the UPDATE succeeds. For the times it crashes, however, sv is "112". Isn't that bizarre? Does anyone have any insight into this? It seems that %lob_cols_hv is somehow getting corrupted...? -- Eric Simon