[cx-oracle-users] NLS_LANG, (NC)LOBs, and ORA-01403
Brought to you by:
atuining
From: Glyph L. <gl...@tw...> - 2011-05-25 18:18:00
|
Hello cx_ers, I have two database servers. One is for local development ("dev") and one is a remote testing database ("test"). Both work fine with an NLS_LANG environment variable unset or using ".US7ASCII". But then, of course, I can't read or write any non-ASCII data without getting encoding errors. So, I set NLS_LANG to ".UTF8". Against dev, everything works fine. But, against test, I get a strange error. When I attempt to .read() a LOB object (specifically, one which represents a NCLOB column), I get an ORA-01403 "no data found" error. Strangely, dev's database character set is AL16UTF16 (i.e. it requires transcoding from the wire input coming from my program) but test is UTF8; in other words, the wire and database encodings match for test, so if anything I would expect it to work _better_. Has anyone else encountered this issue? Is it a bug in cx_Oracle? Is there another value i could use in NLS_LANG to work around it? The only thing that I can find which discusses such an error is this rather oblique reference: <http://download.oracle.com/docs/cd/B25006_02/repca.1012/repca/ts.htm#BABEFBFA>. Thanks for any and all help, -glyph |