Re: [cx-oracle-users] Problem with internal buffer sizes
Brought to you by:
atuining
From: matilda m. <ma...@gr...> - 2007-01-23 17:23:09
|
Hi Anthony, thanks for your fast answer. But I really get used to it. :-)) Probably you can remember me as I contacted you by private mail the first time. So, you see, I follow your abuse and mail to the mailing list. :-)) How can I circumvent this problem? How can I even manually increase the buffers? As far as I know, sqlplus does really double the internal buffers to do the communication for the following szenario: DB character set is Latin1 => I can store a maximum of 4000 German umlauts to the a string column. That results in 8000 bytes on the client side if there is a multibyte encoding enabled. How is the buffer size chosen for simple varchar2 columns in cx_Oracle? Best regards Andreas Mock >>> "Anthony Tuininga" <ant...@gm...> 23.01.2007 17:24 >>> Currently only LOBs use the environment's "maxBytesPerCharacter" specification. Unfortunately (as far as I know -- please correct me if I am wrong) varchar2 buffers are limited to 4000 bytes and are specified in bytes, not characters. So you may be able to get away with increasing the buffer size for small strings but for large strings bad things will start to happen. :-) I'm not sure if there is a reasonable way around this or not. If anyone cares to enlighten me I'd be happy to learn. Anyone?? On 1/23/07, matilda matilda <ma...@gr...> wrote: > Hi all, hi Anthony, > > I have the following problem: > > The Oracle database I'm using has the internal encoding > WE8ISO8859P1. The frontend (shell, python) has the > default encoding UTF-8 (NLS_LANG=GERMAN_GERMANY.UTF8). > The Oracle client library is handling encoding convertion, BUT: > If I fetch a varchar2 (byte) column consisting of a character > that is encoded with two bytes in UTF-8, I get the following > error while fetching: > > cx_Oracle.DatabaseError: column at array pos 0 fetched with error: > 1406 > > I think it's a problem with internal buffers of the bind variables. > > 1) What can I do to get rid of that without changing NLS_LANG? > 2) Is there or probably will there a way to transparently circumvent > this problem. (automatic claiming of bigger buffers). > > Thanks in advance > Andreas Mock > > > > > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > cx-oracle-users mailing list > cx-...@li... > https://lists.sourceforge.net/lists/listinfo/cx-oracle-users > ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ cx-oracle-users mailing list cx-...@li... https://lists.sourceforge.net/lists/listinfo/cx-oracle-users |