Alexander,

I don't think this is a perl/DBD problem.  Is 'NAME_EN' defined as NOT NULL?  If so, 
this will cause the error.  What happens if you perform this in SQL*Plus with the same 
values?

-----------------
Ron Reidy
Senior DBA
Array BioPharma, Inc.


-----Original Message-----
From: Alexander Bergolth [mailto:[EMAIL PROTECTED]
Sent: Tuesday, April 20, 2004 11:09 AM
To: [EMAIL PROTECTED]
Subject: DBD::Oracle and bind_param with empty strings


Hi!

I'm trying to insert rows containing empty strings into a table using 
placeholders and bind_param.

According to my understanding of the DBI documentation, bind_param 
should treat undef as null-values but null-values should be substituted 
as empty strings.

However, I'm getting errors like below:

DBD::Oracle::st execute failed: ORA-01400: cannot insert NULL into 
("BERGOLTH"."ABTEILUNG"."NAME_EN") (DBD ERROR: OCIStmtExecute) [for 
statement ``INSERT INTO abteilung (tid, name, name_en, kurzbez, fk_institut)
        VALUES (?, ?, ?, ?, ?)'' with params: :p5='21', :p3='', 
:p1='22', :p4='-----', :p2='E xx2 (keine)']) at ./import.pl line 89.

(p3 is '', not undef!)

Any hints?
--leo

P.S.: I'm using Fedora Core 1, Oracle 9.2.0 and
 > rpm -q perl perl-DBI perl-DBD-Oracle
perl-5.8.3-16
perl-DBI-1.37-1
perl-DBD-Oracle-1.14-1

-- 
-------------------------------------------------------
Alexander (Leo) Bergolth          [EMAIL PROTECTED]
WU-Wien - Zentrum fuer Informatikdienste - Projektbuero

This electronic message transmission is a PRIVATE communication which contains
information which may be confidential or privileged. The information is intended 
to be for the use of the individual or entity named above. If you are not the 
intended recipient, please be aware that any disclosure, copying, distribution 
or use of the contents of this information is prohibited. Please notify the
sender  of the delivery error by replying to this message, or notify us by
telephone (877-633-2436, ext. 0), and then delete it from your system.

Reply via email to