I'm using DBI v1.20 and DBD-Oracle v1.12 on a Sun 250 (Solaris 2.7) against Oracle 8.1.7. Perl 5.6.1 (complied with gcc 2.95.1). All of the test suite works 100%.
I have a script which parses the contents of formatted text files and inserts rows into a holding table in Oracle for subsequent processing. All the content fields are VARCHAR2(1000); there are some ID fields as well. The insert statement is prepared initially then executed with appropriately set bind variables for each row required. The Problem: Sometimes, strings which hold only a character zero ('0') are received in the database as NULLs. I have checked that the bind variable does actually hold the value I want before and after the execute() call. Where I've encountered the symtom so far, the field following the '0' is empty (undef) - correctly received as a NULL. The trace output shows ' ' in my '0' field as well as the null fields, so the problem seems to be between my call to execute and where the trace output is. The same script running against mysql does not exhibit this problem. Tragically, a cut-down sample of the problem script works fine - at least all the times I've tried it. Any suggestions? Thanks, Peter Langton.