We have a UTF8 Oracle 9i database running on Solaris,
and I'm trying to select data from a CLOB column that
contains extended characters. My perl program is running
on a Win2K machine with build 663 of ActiveState perl
and the Oracle 9i client.
I believe I have the environment and registry settings
correct for UTF8. When the program tries to select UTF8
data from this column, I get ORA-01406 errors when
executing fetchall_arrayref.
I have seen references to modifying oci8.c, but this is
beyond my expertise. I cannot even find this file on my
system (is *that* the problem?) Is there a better solution,
or can someone point me in the correct direction for oci8.c?
I've included a test program that duplicates this problem
in case there's something I'm overlooking.
Thanks.
-- Scott
# Connect, with LongTruncOK set to 0, LongReadLen to 500000.
my($sth) = $dbh->prepare( "SELECT reqid, templid, reqdata from " .
"tblIssMailRequest where status='12'");
if( $DBI::err ) {
die "GetRequest: prepare failed: " . $DBI::errstr };
$sth->execute();
if( $DBI::err ) {
die "GetRequest: execute failed: " . $DBI::errstr }
$raf = $sth->fetchall_arrayref(
{ reqid =>1, templid => 1, reqdata =>1 } );
if( $DBI::err ) {
die $DBI::errstr }
print "OK\n";
exit;