Hi,

I've recently upgraded an old OpenACS system from Oracle 8i to 10g and
AOLserver 3.3+ad13 to 4.0.10. As part of the upgrade we changed the
database character set from US7ASCII to AL32UTF8. 

I'm now getting occasional ORA-01406 "fetched column value was
truncated" errors on web pages - when I say occasional I mean it's not
quite random but also not quite totally guaranteed. Googling I found a
reference to the Oracle driver's CharExpansion parameter - which seems
to describe my problem exactly. However I'm a little confused by the
documentation. I found the following 2 bits of documentation confusing:


http://cvs.sourceforge.net/viewcvs.py/aolserver/nsoracle/doc/oracle-driv
er.html?rev=1.6&view=markup 

"If you encounter error ORA-01406, "fetched column value was truncated",
you need to use the CharExpansion parameter:

[ns/db/driver/ora8]
CharExpansion=2

This will make the driver allocate twice as much space for char and
varchar columns."


http://cvs.sourceforge.net/viewcvs.py/aolserver/nsoracle/Attic/ora8.c?re
v=1.11 
says:
"CharExpansion
        integer defaulting to 1.
        factor by which byte representation of character
        strings can expand when fetched from the database.
        Should only be necessary to set this if your Oracle
        is not using UTF-8, in which case a value of 2 should
        work for any ISO-8859 character set."



The first piece of documentation led me to believe that in my case (as
I'm getting the ORA-01406 error) I should set CharExpansion=2. However,
the second quote has me confused, as I AM using UTF-8.

Do people think it's ok to proceed with CharExpansion=2. I'm cautious
about setting it as it's unclear how it works together with my NLS_LANG
setting (does it ignore it?) and I've already had plenty of character
set fun!

Oh yes, this parameter was added 2002-11-14 in Release 2.6 by Scott
Goodwin. He says: 
    
    Added CharExpansion parameter. Thanks Tomasz Kosiak
<[EMAIL PROTECTED]>.

I'd be very grateful for any help.

Thanks
Brian


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> 
with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: 
field of your email blank.

Reply via email to