Hello,

my Perl script uses uses the DBI interface to connect to Oracle and runs
a select statement. But if one column is of type NCLOB it fails with:

DBD::Oracle::st fetchrow_hashref failed: ORA-24806: LOB form mismatch
(DBD ERROR: OCILobRead) [for Statement "SELECT * FROM ttt WHERE ROWNUM=1"]

I googled a lot and didn't found any solution for it. According to the
used versions of Perl, DBI and Oracle and the NLS settings it should work.

Any idea how to get it working?

Here are my used versions:

DBI::VERSION = "1.41"
perl, v5.8.0

SQL> desc ttt
Name Null? Type
------------------------------------------------------------------------
T1 NCLOB
UMSISDN VARCHAR2(200 CHAR)
SPARTID NUMBER(2)

bash-3.00$ env | grep -i nls
NLS_LANG=AMERICAN_AMERICA.UTF8
NLSPATH=:/export/home/omni/locale/%L/%N.cat:/export/home/omni/locale/%L/%N

Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production

much thanks,
yoyo

Reply via email to