cx-oracle-users Mailing List for cx_Oracle (Page 124)
Brought to you by:
atuining
You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(5) |
Aug
(9) |
Sep
(8) |
Oct
(12) |
Nov
(4) |
Dec
(8) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(15) |
Feb
(12) |
Mar
(11) |
Apr
(5) |
May
(7) |
Jun
(8) |
Jul
(12) |
Aug
(2) |
Sep
(14) |
Oct
(17) |
Nov
(20) |
Dec
(3) |
2005 |
Jan
(16) |
Feb
(9) |
Mar
(22) |
Apr
(21) |
May
(73) |
Jun
(16) |
Jul
(15) |
Aug
(10) |
Sep
(32) |
Oct
(35) |
Nov
(22) |
Dec
(13) |
2006 |
Jan
(42) |
Feb
(36) |
Mar
(13) |
Apr
(18) |
May
(8) |
Jun
(17) |
Jul
(24) |
Aug
(30) |
Sep
(35) |
Oct
(33) |
Nov
(33) |
Dec
(11) |
2007 |
Jan
(35) |
Feb
(31) |
Mar
(35) |
Apr
(64) |
May
(38) |
Jun
(12) |
Jul
(18) |
Aug
(34) |
Sep
(75) |
Oct
(29) |
Nov
(51) |
Dec
(11) |
2008 |
Jan
(27) |
Feb
(46) |
Mar
(48) |
Apr
(36) |
May
(59) |
Jun
(42) |
Jul
(25) |
Aug
(34) |
Sep
(57) |
Oct
(97) |
Nov
(59) |
Dec
(57) |
2009 |
Jan
(48) |
Feb
(48) |
Mar
(45) |
Apr
(24) |
May
(46) |
Jun
(52) |
Jul
(52) |
Aug
(37) |
Sep
(27) |
Oct
(40) |
Nov
(37) |
Dec
(13) |
2010 |
Jan
(16) |
Feb
(9) |
Mar
(24) |
Apr
(6) |
May
(27) |
Jun
(28) |
Jul
(60) |
Aug
(16) |
Sep
(33) |
Oct
(20) |
Nov
(39) |
Dec
(30) |
2011 |
Jan
(23) |
Feb
(43) |
Mar
(16) |
Apr
(29) |
May
(23) |
Jun
(16) |
Jul
(10) |
Aug
(8) |
Sep
(18) |
Oct
(42) |
Nov
(26) |
Dec
(20) |
2012 |
Jan
(17) |
Feb
(27) |
Mar
|
Apr
(20) |
May
(18) |
Jun
(7) |
Jul
(24) |
Aug
(21) |
Sep
(23) |
Oct
(18) |
Nov
(12) |
Dec
(5) |
2013 |
Jan
(14) |
Feb
(10) |
Mar
(20) |
Apr
(65) |
May
(3) |
Jun
(8) |
Jul
(6) |
Aug
(3) |
Sep
|
Oct
(3) |
Nov
(28) |
Dec
(3) |
2014 |
Jan
(3) |
Feb
(9) |
Mar
(4) |
Apr
(7) |
May
(20) |
Jun
(2) |
Jul
(20) |
Aug
(7) |
Sep
(11) |
Oct
(8) |
Nov
(6) |
Dec
(12) |
2015 |
Jan
(16) |
Feb
(10) |
Mar
(14) |
Apr
(8) |
May
|
Jun
(8) |
Jul
(15) |
Aug
(7) |
Sep
(1) |
Oct
(33) |
Nov
(8) |
Dec
(5) |
2016 |
Jan
(18) |
Feb
(12) |
Mar
(6) |
Apr
(14) |
May
(5) |
Jun
(3) |
Jul
|
Aug
(21) |
Sep
|
Oct
(15) |
Nov
(8) |
Dec
|
2017 |
Jan
|
Feb
(14) |
Mar
(21) |
Apr
(9) |
May
(6) |
Jun
(11) |
Jul
(23) |
Aug
(6) |
Sep
(5) |
Oct
(7) |
Nov
(1) |
Dec
(1) |
2018 |
Jan
|
Feb
|
Mar
(16) |
Apr
(2) |
May
(1) |
Jun
|
Jul
(2) |
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
|
2019 |
Jan
(2) |
Feb
(3) |
Mar
(1) |
Apr
(1) |
May
|
Jun
|
Jul
(2) |
Aug
(1) |
Sep
(2) |
Oct
|
Nov
|
Dec
(1) |
2020 |
Jan
|
Feb
(4) |
Mar
|
Apr
|
May
(2) |
Jun
(1) |
Jul
(4) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
(3) |
2021 |
Jan
|
Feb
(5) |
Mar
|
Apr
(7) |
May
(6) |
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2023 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Henning v. B. <H.v...@t-...> - 2006-07-06 07:40:07
|
> Anthony Tuininga wrote: >=20 > Oracle generally does not recommend setting the > environment variable ORACLE_HOME on Windows as it can interfere with > multi-homing on that platform and can occasionally cause weirdnesses > of various sorts to appear. All that is needed is for the directory to > be in the PATH environment variable and Oracle does the rest. >=20 If you need multiple Oracle installations on WINDOWS (say, 10g client, 9.2 client and developer 6i runtime client), and you want to be sure that your program always runs in the correct environment, then you can do it like this: After you have installed everything: - export your registry key HKLM\Software\Oracle to a .reg file. - rename your registry key HKLM\Software\Oracle to HKLM\Software\Oracle.bak - take a backup of your PATH (i.e. "set > c:\environment.txt" on the cmd line) - (optionally) remove all oracle entries from PATH - for each Oracle home: - write a CMD script that sets all needed Oracle settings like this: set ORACLE_HOME=3Dc:\oracle\ora92_client set PATH=3D%ORACLE_HOME%\bin;%WINDIR%\System32;%WINDIR%;%WINDIR%\System32\wbe= m set TNS_ADMIN=3Dc:\ora_network\admin set NLS_LANG=3DGERMAN_GERMANY.WE8MSWIN1252 ... and save it as c:\ora_environment\ora92_client.cmd (replace the file name for other oracle homes) for each oracle program that you run, - make sure that you run the CMD script that sets the oracle variables first, like this: @echo off setlocal call c:\ora_environment\ora92_client.cmd set LOCAL=3DOTEST cd /d g:\myproject\sql sqlplus scott/tiger endlocal Since now you do not have anything oracle-related in the registry, all Oracle settings come from the environment variables, and you have full control. Note: This concept does not work for Windows services like the Application Server etc. Henning |
From: Anthony T. <ant...@gm...> - 2006-07-05 14:21:54
|
On 7/5/06, Amaury Forgeot d'Arc <ama...@gm...> wrote: > Hello, > > 2006/7/5, Paparipote . <pap...@ho...>: > > 4) Into c:\ora I created: c:\ora\network\admin and into admin I created 2 > > files: sqlnet.ora and tnsnames.ora ; tnsnames.ora contains info of > > connections to Ora databases. > > These files are no more mandatory with Oracle 10, where the database > info can be spelled "server/SID" (then the protocol is tcpip, on port > 1521) > ex: connect scott/tiger@localhost/ORCL > > > 5) I also created a new system variable: ORACLE_HOME to put the path: c:\ora > > I suppose this is needed only to find the tnsnames.ora file. Oracle uses the environment variable TNS_ADMIN if you want to specify a directory different from the ones it normally searches in looking for the TNS administration files (like tnsnames.ora). As has already been stated, you can identify a database using the host and its SID (as above). Oracle generally does not recommend setting the environment variable ORACLE_HOME on Windows as it can interfere with multi-homing on that platform and can occasionally cause weirdnesses of various sorts to appear. All that is needed is for the directory to be in the PATH environment variable and Oracle does the rest. > -- > Amaury Forgeot d'Arc > > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > cx-oracle-users mailing list > cx-...@li... > https://lists.sourceforge.net/lists/listinfo/cx-oracle-users > |
From: Amaury F. d'A. <ama...@gm...> - 2006-07-05 07:03:57
|
Hello, 2006/7/5, Paparipote . <pap...@ho...>: > I wanted to advise you about my first tests of your valuable cx_Oracle with > python 2.5b1 under windows XP sp2. It worked!!! Good to know... thanks for testing! > 4) Into c:\ora I created: c:\ora\network\admin and into admin I created 2 > files: sqlnet.ora and tnsnames.ora ; tnsnames.ora contains info of > connections to Ora databases. These files are no more mandatory with Oracle 10, where the database info can be spelled "server/SID" (then the protocol is tcpip, on port 1521) ex: connect scott/tiger@localhost/ORCL > 5) I also created a new system variable: ORACLE_HOME to put the path: c:\ora I suppose this is needed only to find the tnsnames.ora file. -- Amaury Forgeot d'Arc |
From: Paparipote . <pap...@ho...> - 2006-07-05 04:05:42
|
Hello Anthony: I wanted to advise you about my first tests of your valuable cx_Oracle with python 2.5b1 under windows XP sp2. It worked!!! 1) First I got the InstantClient 10.2 from Oracle Windows from http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html (a login is required but everybody can subscribe). I knew about this download site in your cx-oracle-users Archives. 2) I downloaded: instantclient-basic-win32-10.2.0.2-20060508.zip (Necessary), instantclient-sqlplus-win32-10.2.0.2-20060508.zip, instantclient-odbc-win32-10.2.0.2-20060508.zip and instantclient-basiclite-win32-10.2.0.2-20060508.zip (last three are optional). 3) I unzipped all four into a unique folder (c:\ora) and I added this path into the Windows system variable "path" 4) Into c:\ora I created: c:\ora\network\admin and into admin I created 2 files: sqlnet.ora and tnsnames.ora ; tnsnames.ora contains info of connections to Ora databases. 5) I also created a new system variable: ORACLE_HOME to put the path: c:\ora 6) I installed your new Windows cx_Oracle for python25.b1 7) I invoked python and I followed the instructions in your README.TXT 8) I ran the script and It worked!!! I could connect to an Oracle database and got its information. 9) Many thanks for your help and product, I will now try with Oracle express and I am sure I will not have problems. I am planning to use this in Django framework, I am waiting for some adjustments that are applying to the Django API; as you know, the django guys are using your product. I really appreciate your nice work in integrating a powerful DBMS to the pyhton community. _________________________________________________________________ Las mejores tiendas, los precios mas bajos, entregas en todo el mundo, YupiMSN Compras: http://latam.msn.com/compras/ |
From: Anthony T. <ant...@gm...> - 2006-07-04 14:24:30
|
Hmm, you're right. The pyd seems to be missing from the installers. I ran into a bit of trouble with the Python 2.5 distutils commands when I was building these and I guess this was the result (not too surprising considering its an early beta). My apologies for that and I've uploaded new versions that should have all the right files....I hope! :-) On 7/1/06, Paparipote . <pap...@ho...> wrote: > Hello: > I executed file cx_Oracle-4.1.2-win32-10g-py25.exe under my Win XP 2. All > seemed to install well, no error message was issued; but when invoking py= 2.5 > and write: import cx_Oracle, y get next error message: > .... > ImportError: No module named cx_Oracle > > The folder C:\Python25\Lib\site-packages only contains: > cx_Oracle-4.1.2-py2.5.egg-info > The folder C:\python25 contains a sub-folder with name cx_Oracle-doc > cx_Oracle-doc. It also contains the files: Removecx_Oracle.exe and > cx_Oracle-wininst.log; last 3 lines of the log contains: > ..... > 200 File Copy: C:\Python25\cx_Oracle-doc\test\CursorVar.pyo > 200 File Copy: C:\Python25\cx_Oracle-doc\test\Cursor.pyo > 200 File Copy: C:\Python25\cx_Oracle-doc\test\Connection.pyo > > What do you think is happening? > Many thanks for your attention. > > _________________________________________________________________ > Charla con tus amigos en l=EDnea mediante MSN Messenger: > http://messenger.latam.msn.com/ > > > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job ea= sier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronim= o > http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&dat= =3D121642 > _______________________________________________ > cx-oracle-users mailing list > cx-...@li... > https://lists.sourceforge.net/lists/listinfo/cx-oracle-users > |
From: Paparipote . <pap...@ho...> - 2006-07-01 19:13:25
|
Hello: I executed file cx_Oracle-4.1.2-win32-10g-py25.exe under my Win XP 2. All seemed to install well, no error message was issued; but when invoking py2.5 and write: import cx_Oracle, y get next error message: .... ImportError: No module named cx_Oracle The folder C:\Python25\Lib\site-packages only contains: cx_Oracle-4.1.2-py2.5.egg-info The folder C:\python25 contains a sub-folder with name cx_Oracle-doc cx_Oracle-doc. It also contains the files: Removecx_Oracle.exe and cx_Oracle-wininst.log; last 3 lines of the log contains: ..... 200 File Copy: C:\Python25\cx_Oracle-doc\test\CursorVar.pyo 200 File Copy: C:\Python25\cx_Oracle-doc\test\Cursor.pyo 200 File Copy: C:\Python25\cx_Oracle-doc\test\Connection.pyo What do you think is happening? Many thanks for your attention. _________________________________________________________________ Charla con tus amigos en línea mediante MSN Messenger: http://messenger.latam.msn.com/ |
From: Kathryn M. <ka...@cs...> - 2006-07-01 18:16:27
|
I downloaded a new version (10.2.0.2) of the oracle instant client and the problem went away. I had been using 10.1.0.2. Thanks for your help, everyone! Kathryn Henning von Bargen wrote: > Kathryn, > > did you test with Oracle Instant Client only? > > Perhaps you should run your Python script in the > same environment where you have SQL*Plus installed. > Just to see if it is a problem with cx_Oracle or > with the Instant Client... > > Henning > > > > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > cx-oracle-users mailing list > cx-...@li... > https://lists.sourceforge.net/lists/listinfo/cx-oracle-users |
From: Mark H. <mh...@pi...> - 2006-06-30 20:27:39
|
D.R. Boxhoorn wrote: > Hoi Mark, > > There is an easy pattern for this, indeed. > Below you'll find a working example, in which you only need to put your > favourite connectstring. > It should be easy to adapt, even if you'd like to store the sql that is > used by using cx_Oracle. :) > > Hoping that this helps, Yes it does, thanks very much! Mark -- Mark Harrison Pixar Animation Studios |
From: D.R. B. <da...@as...> - 2006-06-30 08:41:53
|
Hoi Mark, There is an easy pattern for this, indeed. Below you'll find a working example, in which you only need to put your favourite connectstring. It should be easy to adapt, even if you'd like to store the sql that is used by using cx_Oracle. :) Hoping that this helps, Danny Kapteyn Astronomical Institute / OmegaCEN e-mail: da...@as... Postbus 800 tel.: +31 (0)50 3632454 9700 AV GRONINGEN fax.: +31 (0)50 3636100 THE NETHERLANDS http://www.astro-wise.org/ ################################################################################ import cx_Oracle # Derive your own Cursor class from the cx_Oracle one # It class MyCursor(cx_Oracle.Cursor): def execute(self, *args): print args return cx_Oracle.Cursor.execute(self, *args) # Derive your own Connection class from the cx_Oracle one class MyConnection(cx_Oracle.Connection): def cursor(self): return MyCursor(self) # Augment cx_Oracle.connect() by making it point to your own Connection class cx_Oracle.connect = MyConnection # From now on every code that uses cx_Oracle in the standard way will print # each query plus arguments. # If you want to switch back, just do cx_Oracle.connect = cx_Oracle.Connection database = cx_Oracle.connect(connectstring) cursor = database.cursor() cursor.execute('SELECT SYSDATE FROM DUAL WHERE 5<>:something', {'something': 5}) print cursor.fetchone() cursor.close() database.close() ################################################################################ On Thu, Jun 29, 2006 at 05:57:27PM -0700, Mark Harrison wrote: > For debugging, it would be nice to see all the sql lines > that are being sent to Oracle for execution. Is there an > easy way to do that? > > Many TIA! > Mark > > -- > Mark Harrison > Pixar Animation Studios > > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > cx-oracle-users mailing list > cx-...@li... > https://lists.sourceforge.net/lists/listinfo/cx-oracle-users |
From: Mark H. <mh...@pi...> - 2006-06-30 00:57:32
|
For debugging, it would be nice to see all the sql lines that are being sent to Oracle for execution. Is there an easy way to do that? Many TIA! Mark -- Mark Harrison Pixar Animation Studios |
From: Henning v. B. <H.v...@t-...> - 2006-06-28 06:20:11
|
Kathryn, did you test with Oracle Instant Client only? Perhaps you should run your Python script in the same environment where you have SQL*Plus installed. Just to see if it is a problem with cx_Oracle or with the Instant Client... Henning |
From: Kathryn M M. <ka...@cs...> - 2006-06-26 21:29:16
|
Thanks, Anthony. I tried what you suggested, and it definitely changed=20 things, but it still doesn't work. The change is that the "weird"=20 characters in the middle of the output for the third print statement=20 (the 'h' record) are different. With NLS_LANG set on the client side to AMERICAN_AMERICA.US7ASCII, the=20 "weird" characters are "?^@u". The numeric values for these characters=20 are: 63, 0, 117, or hex 0x3f, 0x0, 0x75. With NLS_LANG set on the client side to AMERICAN_AMERICA.WE8ISO8859P1,=20 the weird characters are "=FE^@=FB". The numeric values for these charact= ers=20 are: 254, 0, 251, or hex 0xfe, 0x0, 0xfb. Given that the "weird" characters fall exactly where the record boundary=20 should be (position 252, because there should be only 251 h's in the=20 record), it seems like the record boundary character isn't being=20 interpreted correctly. I tried a bunch of different 8- and 7-bit encodings for NLS_LANG and=20 can't get it right. I'll keep experimenting, but am sending this in case=20 someone can shed some light. Thanks, Kathryn Anthony Tuininga wrote: > I don't have much experience with character sets either so if someone > else with greater knowledge is on this list, feel free to jump in. :-) >=20 > I don't believe you need to set the NLS_LANG variable on the server > since that is covered by the NLS_DATABASE_PARAMETERS. Instead, set > your NLS_LANG on the client to AMERICAN_AMERICA.WE8ISO8859P1 and try > your queries again. >=20 > On 6/24/06, Kathryn Mohror <ka...@cs...> wrote: >> I don't have much experience with character sets, but here's what I wa= s >> able to find out. >> >> Server side: >> -------------- >> NLS_LANG is not set. >> NLS_DATABASE_PARAMETERS: >> NLS_LANGUAGE AMERICAN >> NLS_TERRITORY AMERICA >> NLS_CHARACTERSET WE8ISO8859P1 >> From my reading >> (http://www.oracle.com/technology/tech/globalization/htdocs/nls_lang%2= 0faq.htm), >> I think that because NLS_LANG is not set, the default character encodi= ng >> for database entries is AMERICAN_AMERICA.US7ASCII. >> >> Client side: >> ------------- >> NLS_LANG is not set. >> >>> import sys, locale >> >>> print locale.getdefaultlocale() >> (None, None) >> >>> print sys.stdout.encoding >> ANSI_X3.4-1968 >> I think that the oracle instant client uses the default values when >> NLS_LANG is not set (AMERICAN_AMERICA.US7ASCII). I would think that >> this default encoding is compatible with the system encoding because >> they're both 7-bit ascii. >> >> However, even though I think the encodings are compatible, retrieving >> the characters and printing them doesn't "just work." My suspicion is >> that the problem occurs because NLS_LANG is not set on the server side. >> I have not yet experimented with setting this though. >> >> Any advice would be greatly appreciated. >> Thanks, >> Kathryn >> >> Anthony Tuininga wrote: >>> Hmm, I tried the steps you gave and did not get the same results. The >>> possibility, however, is that the database character set and the >>> client character set are not the same as the ones you've used. Perhap= s >>> you can detail that information as well? If it gets too much into the >>> unicode side of things I won't be able to be much help but others >>> might be able to help on that front..... >>> >>> On 6/21/06, Kathryn Mohror <ka...@cs...> wrote: >>>> Hi, >>>> >>>> I am trying to select and print strings from an Oracle 10.1.0.3.0 >>>> database using cx_Oracle 4.1.2 and python 2.4.2. >>>> >>>> The problem: If I insert strings into a VARCHAR2 field with > 250 >>>> characters, I get garbage when I retrieve them. >>>> >>>> Example test scenario: >>>> >>>> 1. in sqlplus, I execute the following commands: >>>> create table temp_k (b varchar2(500 byte), c varchar2(500 char)); >>>> insert into temp_k (b,c) values (rpad('b',200,'b'),rpad('c',200,'c')= ); >>>> commit; >>>> >>>> 2. Now I use cx_oracle to retrieve the strings: >>>> sql =3D "select b,c from temp_k" >>>> ptds.cursor.execute(sql) >>>> rets =3D ptds.cursor.fetchall() >>>> print ptds.cursor.description >>>> for b,c in rets: >>>> towrite =3D "byte:%s\n"% b >>>> f.write(towrite) >>>> towrite =3D "char:%s\n"% c >>>> f.write(towrite) >>>> >>>> I get the output I expect. >>>> [('B', <type 'cx_Oracle.STRING'>, 500, 500, 0, 0, 1), ('C', <type >>>> 'cx_Oracle.STRING'>, 500, 500, 0, 0, 1)] >>>> byte:bbbbbbbbbbbb <snip for space> up to 200 >>>> char:cccccccccccc <snip for space> up to 200 >>>> >>>> 3. Now, in sqlplus, I execute: >>>> insert into temp_k (b,c) values (rpad('h',251,'h'),rpad('i',251,'i')= ); >>>> commit; >>>> >>>> 4. Now, from my python script using cx_oracle, I retrieve the string= s as >>>> in step #2. Now I get garbage for the last two rows: >>>> byte:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb= bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb= bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb >>>> char:ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc= ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc= cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc >>>> byte:hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh= hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh= hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh= hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh?^@uiiiiiiiiiiiiiiiiiiiiiiiiiii= iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii= iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii= iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii >>>> char:iiiii^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@= ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^= @^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@= ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^= @^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@= ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^= @^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@= ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^= @^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@= ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^= @^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@= ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^= @^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@= ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^ > @ >> ^@ >>> ^ >>>> @^@^@^@^@^@ >>>> >>>> If I insert more rows of length < 251 after step #4, those rows are = also >>>> returned as garbage. When I retrieve these strings via sqlplus or th= e QT >>>> interface, I do not receive garbage. >>>> >>>> Do you know what is happening here? >>>> >>>> Thanks, >>>> Kathryn >>>> >>>> >>>> >>>> _______________________________________________ >>>> cx-oracle-users mailing list >>>> cx-...@li... >>>> https://lists.sourceforge.net/lists/listinfo/cx-oracle-users >>>> >>> Using Tomcat but need to do more? Need to support web services, secur= ity? >>> Get stuff done quickly with pre-integrated technology to make your jo= b easier >>> Download IBM WebSphere Application Server v.1.0.1 based on Apache Ger= onimo >>> http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&d= at=3D121642 >>> _______________________________________________ >>> cx-oracle-users mailing list >>> cx-...@li... >>> https://lists.sourceforge.net/lists/listinfo/cx-oracle-users >> >> Using Tomcat but need to do more? Need to support web services, securi= ty? >> Get stuff done quickly with pre-integrated technology to make your job= easier >> Download IBM WebSphere Application Server v.1.0.1 based on Apache Gero= nimo >> http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&da= t=3D121642 >> _______________________________________________ >> cx-oracle-users mailing list >> cx-...@li... >> https://lists.sourceforge.net/lists/listinfo/cx-oracle-users >> >=20 > Using Tomcat but need to do more? Need to support web services, securit= y? > Get stuff done quickly with pre-integrated technology to make your job = easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geron= imo > http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&dat= =3D121642 > _______________________________________________ > cx-oracle-users mailing list > cx-...@li... > https://lists.sourceforge.net/lists/listinfo/cx-oracle-users |
From: Anthony T. <ant...@gm...> - 2006-06-26 14:22:01
|
I don't have much experience with character sets either so if someone else with greater knowledge is on this list, feel free to jump in. :-) I don't believe you need to set the NLS_LANG variable on the server since that is covered by the NLS_DATABASE_PARAMETERS. Instead, set your NLS_LANG on the client to AMERICAN_AMERICA.WE8ISO8859P1 and try your queries again. On 6/24/06, Kathryn Mohror <ka...@cs...> wrote: > I don't have much experience with character sets, but here's what I was > able to find out. > > Server side: > -------------- > NLS_LANG is not set. > NLS_DATABASE_PARAMETERS: > NLS_LANGUAGE AMERICAN > NLS_TERRITORY AMERICA > NLS_CHARACTERSET WE8ISO8859P1 > From my reading > (http://www.oracle.com/technology/tech/globalization/htdocs/nls_lang%20faq.htm), > I think that because NLS_LANG is not set, the default character encoding > for database entries is AMERICAN_AMERICA.US7ASCII. > > Client side: > ------------- > NLS_LANG is not set. > >>> import sys, locale > >>> print locale.getdefaultlocale() > (None, None) > >>> print sys.stdout.encoding > ANSI_X3.4-1968 > I think that the oracle instant client uses the default values when > NLS_LANG is not set (AMERICAN_AMERICA.US7ASCII). I would think that > this default encoding is compatible with the system encoding because > they're both 7-bit ascii. > > However, even though I think the encodings are compatible, retrieving > the characters and printing them doesn't "just work." My suspicion is > that the problem occurs because NLS_LANG is not set on the server side. > I have not yet experimented with setting this though. > > Any advice would be greatly appreciated. > Thanks, > Kathryn > > Anthony Tuininga wrote: > > Hmm, I tried the steps you gave and did not get the same results. The > > possibility, however, is that the database character set and the > > client character set are not the same as the ones you've used. Perhaps > > you can detail that information as well? If it gets too much into the > > unicode side of things I won't be able to be much help but others > > might be able to help on that front..... > > > > On 6/21/06, Kathryn Mohror <ka...@cs...> wrote: > >> Hi, > >> > >> I am trying to select and print strings from an Oracle 10.1.0.3.0 > >> database using cx_Oracle 4.1.2 and python 2.4.2. > >> > >> The problem: If I insert strings into a VARCHAR2 field with > 250 > >> characters, I get garbage when I retrieve them. > >> > >> Example test scenario: > >> > >> 1. in sqlplus, I execute the following commands: > >> create table temp_k (b varchar2(500 byte), c varchar2(500 char)); > >> insert into temp_k (b,c) values (rpad('b',200,'b'),rpad('c',200,'c')); > >> commit; > >> > >> 2. Now I use cx_oracle to retrieve the strings: > >> sql = "select b,c from temp_k" > >> ptds.cursor.execute(sql) > >> rets = ptds.cursor.fetchall() > >> print ptds.cursor.description > >> for b,c in rets: > >> towrite = "byte:%s\n"% b > >> f.write(towrite) > >> towrite = "char:%s\n"% c > >> f.write(towrite) > >> > >> I get the output I expect. > >> [('B', <type 'cx_Oracle.STRING'>, 500, 500, 0, 0, 1), ('C', <type > >> 'cx_Oracle.STRING'>, 500, 500, 0, 0, 1)] > >> byte:bbbbbbbbbbbb <snip for space> up to 200 > >> char:cccccccccccc <snip for space> up to 200 > >> > >> 3. Now, in sqlplus, I execute: > >> insert into temp_k (b,c) values (rpad('h',251,'h'),rpad('i',251,'i')); > >> commit; > >> > >> 4. Now, from my python script using cx_oracle, I retrieve the strings as > >> in step #2. Now I get garbage for the last two rows: > >> byte:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb > >> char:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc > >> byte:hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh?^@uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii > >> char:iiiii^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ > ^@ > > ^ > >> @^@^@^@^@^@ > >> > >> If I insert more rows of length < 251 after step #4, those rows are also > >> returned as garbage. When I retrieve these strings via sqlplus or the QT > >> interface, I do not receive garbage. > >> > >> Do you know what is happening here? > >> > >> Thanks, > >> Kathryn > >> > >> > >> > >> _______________________________________________ > >> cx-oracle-users mailing list > >> cx-...@li... > >> https://lists.sourceforge.net/lists/listinfo/cx-oracle-users > >> > > > > Using Tomcat but need to do more? Need to support web services, security? > > Get stuff done quickly with pre-integrated technology to make your job easier > > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > > _______________________________________________ > > cx-oracle-users mailing list > > cx-...@li... > > https://lists.sourceforge.net/lists/listinfo/cx-oracle-users > > > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > cx-oracle-users mailing list > cx-...@li... > https://lists.sourceforge.net/lists/listinfo/cx-oracle-users > |
From: Kathryn M. <ka...@cs...> - 2006-06-24 22:59:50
|
I don't have much experience with character sets, but here's what I was able to find out. Server side: -------------- NLS_LANG is not set. NLS_DATABASE_PARAMETERS: NLS_LANGUAGE AMERICAN NLS_TERRITORY AMERICA NLS_CHARACTERSET WE8ISO8859P1 From my reading (http://www.oracle.com/technology/tech/globalization/htdocs/nls_lang%20faq.htm), I think that because NLS_LANG is not set, the default character encoding for database entries is AMERICAN_AMERICA.US7ASCII. Client side: ------------- NLS_LANG is not set. >>> import sys, locale >>> print locale.getdefaultlocale() (None, None) >>> print sys.stdout.encoding ANSI_X3.4-1968 I think that the oracle instant client uses the default values when NLS_LANG is not set (AMERICAN_AMERICA.US7ASCII). I would think that this default encoding is compatible with the system encoding because they're both 7-bit ascii. However, even though I think the encodings are compatible, retrieving the characters and printing them doesn't "just work." My suspicion is that the problem occurs because NLS_LANG is not set on the server side. I have not yet experimented with setting this though. Any advice would be greatly appreciated. Thanks, Kathryn Anthony Tuininga wrote: > Hmm, I tried the steps you gave and did not get the same results. The > possibility, however, is that the database character set and the > client character set are not the same as the ones you've used. Perhaps > you can detail that information as well? If it gets too much into the > unicode side of things I won't be able to be much help but others > might be able to help on that front..... > > On 6/21/06, Kathryn Mohror <ka...@cs...> wrote: >> Hi, >> >> I am trying to select and print strings from an Oracle 10.1.0.3.0 >> database using cx_Oracle 4.1.2 and python 2.4.2. >> >> The problem: If I insert strings into a VARCHAR2 field with > 250 >> characters, I get garbage when I retrieve them. >> >> Example test scenario: >> >> 1. in sqlplus, I execute the following commands: >> create table temp_k (b varchar2(500 byte), c varchar2(500 char)); >> insert into temp_k (b,c) values (rpad('b',200,'b'),rpad('c',200,'c')); >> commit; >> >> 2. Now I use cx_oracle to retrieve the strings: >> sql = "select b,c from temp_k" >> ptds.cursor.execute(sql) >> rets = ptds.cursor.fetchall() >> print ptds.cursor.description >> for b,c in rets: >> towrite = "byte:%s\n"% b >> f.write(towrite) >> towrite = "char:%s\n"% c >> f.write(towrite) >> >> I get the output I expect. >> [('B', <type 'cx_Oracle.STRING'>, 500, 500, 0, 0, 1), ('C', <type >> 'cx_Oracle.STRING'>, 500, 500, 0, 0, 1)] >> byte:bbbbbbbbbbbb <snip for space> up to 200 >> char:cccccccccccc <snip for space> up to 200 >> >> 3. Now, in sqlplus, I execute: >> insert into temp_k (b,c) values (rpad('h',251,'h'),rpad('i',251,'i')); >> commit; >> >> 4. Now, from my python script using cx_oracle, I retrieve the strings as >> in step #2. Now I get garbage for the last two rows: >> byte:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb >> char:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc >> byte:hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh?^@uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii >> char:iiiii^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ ^@ > ^ >> @^@^@^@^@^@ >> >> If I insert more rows of length < 251 after step #4, those rows are also >> returned as garbage. When I retrieve these strings via sqlplus or the QT >> interface, I do not receive garbage. >> >> Do you know what is happening here? >> >> Thanks, >> Kathryn >> >> >> >> _______________________________________________ >> cx-oracle-users mailing list >> cx-...@li... >> https://lists.sourceforge.net/lists/listinfo/cx-oracle-users >> > > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > cx-oracle-users mailing list > cx-...@li... > https://lists.sourceforge.net/lists/listinfo/cx-oracle-users |
From: Anthony T. <ant...@gm...> - 2006-06-22 20:43:56
|
Ok, I've uploaded a copy of cx_Oracle packages for Python 2.5 and 9i and 10g for both Windows and Linux. Let me know if you have any problems with these packages. Thanks. On 6/19/06, Anthony Tuininga <ant...@gm...> wrote: > I'm going to wait until tomorrow when theoretically beta 1 is going to > be released. I'll send another e-mail when I've actually done the > upload. > > On 6/16/06, Paparipote . <pap...@ho...> wrote: > > ManyThanks Anthony, I will be waiting for that upload. > > Best regards, > > > > _________________________________________________________________ > > Charla con tus amigos en l=EDnea mediante MSN Messenger: > > http://messenger.latam.msn.com/ > > > > > > > > _______________________________________________ > > cx-oracle-users mailing list > > cx-...@li... > > https://lists.sourceforge.net/lists/listinfo/cx-oracle-users > > > |
From: Anthony T. <ant...@gm...> - 2006-06-22 16:40:21
|
Hmm, I tried the steps you gave and did not get the same results. The possibility, however, is that the database character set and the client character set are not the same as the ones you've used. Perhaps you can detail that information as well? If it gets too much into the unicode side of things I won't be able to be much help but others might be able to help on that front..... On 6/21/06, Kathryn Mohror <ka...@cs...> wrote: > Hi, > > I am trying to select and print strings from an Oracle 10.1.0.3.0 > database using cx_Oracle 4.1.2 and python 2.4.2. > > The problem: If I insert strings into a VARCHAR2 field with > 250 > characters, I get garbage when I retrieve them. > > Example test scenario: > > 1. in sqlplus, I execute the following commands: > create table temp_k (b varchar2(500 byte), c varchar2(500 char)); > insert into temp_k (b,c) values (rpad('b',200,'b'),rpad('c',200,'c')); > commit; > > 2. Now I use cx_oracle to retrieve the strings: > sql = "select b,c from temp_k" > ptds.cursor.execute(sql) > rets = ptds.cursor.fetchall() > print ptds.cursor.description > for b,c in rets: > towrite = "byte:%s\n"% b > f.write(towrite) > towrite = "char:%s\n"% c > f.write(towrite) > > I get the output I expect. > [('B', <type 'cx_Oracle.STRING'>, 500, 500, 0, 0, 1), ('C', <type > 'cx_Oracle.STRING'>, 500, 500, 0, 0, 1)] > byte:bbbbbbbbbbbb <snip for space> up to 200 > char:cccccccccccc <snip for space> up to 200 > > 3. Now, in sqlplus, I execute: > insert into temp_k (b,c) values (rpad('h',251,'h'),rpad('i',251,'i')); > commit; > > 4. Now, from my python script using cx_oracle, I retrieve the strings as > in step #2. Now I get garbage for the last two rows: > byte:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb > char:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc > byte:hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh?^@uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii > char:iiiii^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^ > @^@^@^@^@^@ > > If I insert more rows of length < 251 after step #4, those rows are also > returned as garbage. When I retrieve these strings via sqlplus or the QT > interface, I do not receive garbage. > > Do you know what is happening here? > > Thanks, > Kathryn > > > > _______________________________________________ > cx-oracle-users mailing list > cx-...@li... > https://lists.sourceforge.net/lists/listinfo/cx-oracle-users > |
From: Kathryn M. <ka...@cs...> - 2006-06-21 16:37:52
|
Hi, I am trying to select and print strings from an Oracle 10.1.0.3.0 database using cx_Oracle 4.1.2 and python 2.4.2. The problem: If I insert strings into a VARCHAR2 field with > 250 characters, I get garbage when I retrieve them. Example test scenario: 1. in sqlplus, I execute the following commands: create table temp_k (b varchar2(500 byte), c varchar2(500 char)); insert into temp_k (b,c) values (rpad('b',200,'b'),rpad('c',200,'c')); commit; 2. Now I use cx_oracle to retrieve the strings: sql = "select b,c from temp_k" ptds.cursor.execute(sql) rets = ptds.cursor.fetchall() print ptds.cursor.description for b,c in rets: towrite = "byte:%s\n"% b f.write(towrite) towrite = "char:%s\n"% c f.write(towrite) I get the output I expect. [('B', <type 'cx_Oracle.STRING'>, 500, 500, 0, 0, 1), ('C', <type 'cx_Oracle.STRING'>, 500, 500, 0, 0, 1)] byte:bbbbbbbbbbbb <snip for space> up to 200 char:cccccccccccc <snip for space> up to 200 3. Now, in sqlplus, I execute: insert into temp_k (b,c) values (rpad('h',251,'h'),rpad('i',251,'i')); commit; 4. Now, from my python script using cx_oracle, I retrieve the strings as in step #2. Now I get garbage for the last two rows: byte:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb char:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc byte:hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh?^@uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii char:iiiii^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^ @^@^@^@^@^@ If I insert more rows of length < 251 after step #4, those rows are also returned as garbage. When I retrieve these strings via sqlplus or the QT interface, I do not receive garbage. Do you know what is happening here? Thanks, Kathryn |
From: Paparipote . <pap...@ho...> - 2006-06-20 20:14:31
|
Ok Anthony, I will be pending of your news and ... thanks for your early announcement about the py25 beta version. _________________________________________________________________ Charla con tus amigos en línea mediante MSN Messenger: http://messenger.latam.msn.com/ |
From: Anthony T. <ant...@gm...> - 2006-06-19 15:58:00
|
I'm going to wait until tomorrow when theoretically beta 1 is going to be released. I'll send another e-mail when I've actually done the upload. On 6/16/06, Paparipote . <pap...@ho...> wrote: > ManyThanks Anthony, I will be waiting for that upload. > Best regards, > > _________________________________________________________________ > Charla con tus amigos en l=EDnea mediante MSN Messenger: > http://messenger.latam.msn.com/ > > > > _______________________________________________ > cx-oracle-users mailing list > cx-...@li... > https://lists.sourceforge.net/lists/listinfo/cx-oracle-users > |
From: Paparipote . <pap...@ho...> - 2006-06-16 23:22:19
|
ManyThanks Anthony, I will be waiting for that upload. Best regards, _________________________________________________________________ Charla con tus amigos en línea mediante MSN Messenger: http://messenger.latam.msn.com/ |
From: Anthony T. <ant...@gm...> - 2006-06-16 18:48:00
|
Not yet. But it will be available with the next release. I could upload a version of the current release for Python 2.5 if that would be helpful and simply announce that only on this list. On 6/16/06, Paparipote . <pap...@ho...> wrote: > Is there a way to obtain the Windows Installer for the mentioned python > version? I would like to do some tests. > I tried to compile in a PC that has VisualStudio 2005 but the distutils > library (msvccompiler.py) has problem with the version of VS. I do not k= now > other compilers. > Best regards. > > _________________________________________________________________ > MSN Amor: busca tu =BD naranja http://latam.msn.com/amor/ > > > > _______________________________________________ > cx-oracle-users mailing list > cx-...@li... > https://lists.sourceforge.net/lists/listinfo/cx-oracle-users > |
From: Paparipote . <pap...@ho...> - 2006-06-16 18:15:30
|
Is there a way to obtain the Windows Installer for the mentioned python version? I would like to do some tests. I tried to compile in a PC that has VisualStudio 2005 but the distutils library (msvccompiler.py) has problem with the version of VS. I do not know other compilers. Best regards. _________________________________________________________________ MSN Amor: busca tu ½ naranja http://latam.msn.com/amor/ |
From: Anthony T. <ant...@gm...> - 2006-06-09 16:02:17
|
Unfortunately, none at the moment. But I'll take a look at it at some point soon and let you know if I find anything. If anyone else has any information I'd love to hear about it. My knowledge of Unicode is not all that extensive. :-) On 6/9/06, Chris Dunscombe <cdu...@ya...> wrote: > I'm trying to read data from an NCLOB column using: > > for nclob_col, other_col in cursor.__iter__(): > nclob = nclob_col.read() > ...... > > This returns the Oracle error ORA-24806 - Lob form mismatch. > > Environment is: > cx_Oracle version 4.1.2 > Oracle version 9.2.0.7 > Python 2.3.3 > SuSE Linux 8.2 > > Anyone any ideas? > > Thanks, > > Chris Dunscombe > > > > __________________________________________________ > Do You Yahoo!? > Tired of spam? Yahoo! Mail has the best spam protection around > http://mail.yahoo.com > > > _______________________________________________ > cx-oracle-users mailing list > cx-...@li... > https://lists.sourceforge.net/lists/listinfo/cx-oracle-users > |
From: Chris D. <cdu...@ya...> - 2006-06-09 14:49:55
|
I'm trying to read data from an NCLOB column using: for nclob_col, other_col in cursor.__iter__(): nclob = nclob_col.read() ...... This returns the Oracle error ORA-24806 - Lob form mismatch. Environment is: cx_Oracle version 4.1.2 Oracle version 9.2.0.7 Python 2.3.3 SuSE Linux 8.2 Anyone any ideas? Thanks, Chris Dunscombe __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com |
From: hashim A. <ah...@ex...> - 2006-05-14 10:01:54
|
IERlYXIgU2lyLCAKCiAgCiAKSXQgaXMgbXkgc2luY2VyZSBwcmF5ZXJzIGFuZCB3aXNoZXMgdGhh dCB0aGUgeWVhciBoYXMgYmVlbiBmdWxmaWxsaW5nIGFuZCByZXdhcmRpbmcgZm9yIHlvdSBhbmQg eW91ciBmYW1pbHkuIFNvcnJ5IHRvIHN1cnByaXNlIHlvdSBhbmQgdGFrZSBzb21lIG9mIHlvdXIg dGltZSBpbiBnb2luZyB0aHJvdWdoIHRoaXMgdW5leHBlY3RlZCBsZXR0ZXIgb2YgcGxlYSBmb3Ig eW91ciB1bmRlcnN0YW5kaW5nIGFuZCBhc3Npc3RhbmNlLgogCkkgZ290IHlvdXIgY29udGFjdCBm cm9tIGEgeW91ciBjb3VudHJ5IHRyYWRlIGpvdXJuYWwgaGVyZSBpbiBUaGFpbGFuZCBjaGFtYmVy IG9mIGNvbW1lcmNlIGFuZCBpbmR1c3RyeSwgIGFuZCBJIGRlY2lkZWQgdG8gdW5mb2xkIG15IGlu dmVzdG1lbnQgcGxhbiB0byB5b3Ugb2Ygd2hpY2ggSSBhbSBjb252aW5jZSBhcyB0byBzb2xpY2l0 IGZvciB5b3VyIHN1cHBvcnQgYW5kIGFzc2lzdGFuY2UgYWZ0ZXIgcmVhZGluZyB5b3VyIHByb2Zp bGUuCgpJIGFtICBNciBIYXNoaW0gQWJ1YmFrYXIgdGhlIFNvbiBvZiAgbGF0ZSBNciBJYnJhaGlt IEFidWJha2FyICBvZiBFcXVhdG9yaWFsIEd1aW5lYSBsb2NhdGVkIGluIFdlc3QgQ2VudHJhbCBB ZnJpY2EuIE15IGZhdGhlciB3YXMgYSBmYW1vdXMgcG9saXRpY2lhbiwgYW5kIHRoZSBmb3JtZXIg VmljZSBDaGFpcm1hbiBvZiB0aGUgQ29udmVyZ2VuY2UgZm9yIFNvY2lhbCBEZW1vY3JhY3kgUGFy dHkgaW4gRXF1YXRvcmlhbCBHdWluZWFuLiBIZSB3YXMgYWNjdXNlZCB3aXRoIHRocmVlIG1lbWJl cnMgb2YgdGhpZXIgcGFydHkgYnkgdGhlIEVxdWF0b3JpYWwgR3VpbmVhbiBhdXRob3JpdGllcyBp biBjb25uZWN0aW9uIHdpdGggYW4gYWxsZWdlZCBwbG90IHRvIG92ZXJ0aHJvdyBQcmVzaWRlbnQg VGVvZG9ybyBPYmlhbmcgTmd1ZW1hIGluIE1hcmNoIDIwMDUuIAogCk15IGZhdGhlciB3YXMgZ2l2 ZW4gYSAyMCB5ZWFycyBwcmlzb24gc2VudGVuY2UgYWZ0ZXIgdW5mYWlyIHRyaWFscy4gVGhlIGdv dmVybm1lbnQgYWxzbyBlbnN1cmVkIHRoYXQgYWxsIG15IGZhdGhlcidzIGJhbmsgYWNjb3VudHMg Ym90aCBsb2NhbCBhbmQgaW50ZXJuYXRpb25hbCBiZWVuIGZyZWV6ZSBhbmQgYXNzZXRzIGJlaW5n IHNlaXplZC4gIEZldyBtb250aHMgbGF0ZXIgZHVlIHRvIHRoZSBzaG9jayBoZSBkZXZlbG9wZWQg SGlnaCBCbG9vZCBQcmVzc3VyZSBhbmQgU3Ryb2tlIHdoaWNoIGxlZCB0byBoaXMgZGVhdGguIEJl Zm9yZSBoaXMgZGVhdGgsIGhlIHdhcyBhYmxlIHRvIGNvbmZpcm0gcGVyc29uYWxseSB0byBtZSBv ZiBhbiBleGlzdGVuY2UgZGVwb3NpdCBvZiAkMTIuNU1pbGxpb24gVVNEIHdoaWNoIGhlIHBhY2tl ZCBhbmQgc2VhbGVkIGFuZCBkZXBvc2l0ZWQgaW4gYSBmaW5hbmNlIGFuZCBzZWN1cml0eSB2YXVs dCB0aHJvdWdoIGEgZGlwbG9tYXRpYyBjaGFubmVsbCBpbiBCYW5na29rIFRoYWlsYW5kIGFzIGEg RGlwbG9tYXRpYyB2YWx1YWJsZSAvIEZhbWlseSB0cmVhc3VyZSBpbnN0ZWFkIG9mIGNhc2ggZm9y IHNlY3VyaXR5IHJlYXNvbi4KCiAKIApQcmVzZW50bHkgSSBoYXZlIGp1c3QgYXJyaXZlZCBoZXJl IGluIEJhbmdrb2sgYWxvbmcgIGFuZCB3ZSBoYXZlIGJlZW4gZ3JhbnRlZCBwb2xpdGljYWwgYXN5 bHVtIHVuZGVyIHRoZSBwcm90ZWN0aW9uIG9mIFVuaXRlZCBOYXRpb25zIEhpZ2ggQ29tbWlzc2lv biBmb3IgcmVmdWdlZSAgZHVlIHRoZSBjb250aW51ZSBwcm9ibGVtIHdpdGggdGhlRXF1YXRvcmlh bCBHdWluZWFuIEdvdmVybm1lbnQuIFdlIGhhdmUgY2VydGlmaWVkIHRoZSBleGlzdGVuY2Ugb2Yg dGhlIGZ1bmQgaW4gdGhlIGZpbmFuY2UgYW5kIHNlY3VyaXR5IHZhdWx0ICB3aXRoIGFsbCB0aGUg YXBwcm9wcmlhdGUgZG9jdW1lbnRzIG9mIHRoZSBmdW5kIGluIG15IGhhbmQgYXMgdGhlIG5leHQg b2Yga2luLyBiZW5lZmljaWFyeSBvZiB0aGUgZnVuZC4gSSBoYXZlIGNvbmNsdWRlZCBldmVyeSAg YXJyYW5nZW1lbnQgZm9yIHJlbW92YWwgb2YgdGhlIERpcGxvbWF0aWMgU2VjdXJpdHkgdHJ1bmsg Ym94IGNvbnRhaW5pbmcgdGhlIG1vbmV5IG91dCBmcm9tIHRoZSBmaW5hbmNlIGFuZCBzZWN1cml0 eSB2YXVsdCBzbyB0aGF0IEkgY2FuIHRyYW5zZmVyIHRoZSBmdW5kIG91dCBvZiBUaGFpbGFuZCBm b3IgaW52ZXN0bWVudCBwYXJ0bmVyc2hpcCBiZWNhdXNlIG15IGN1cnJlbnQgc3RhdHVzIGFzIGEg cG9saXRpY2FsIHJlZnVnZWUgaGVyZSBJIGFtIGxpbWl0ZWQgdG8gaGFuZGxlIHN1Y2ggaHVnZSBh bW91bnQgb2YgY2FzaCBhcyBJIGFtIGFsc28gbGltaXRlZCBmcm9tIG9wZXJhdGluZyBhIGJhbmsg YWNjb3VudCBhcyBhIHJlZnVnZWUgaGVyZSBpbiBUaGFpbGFuZC4KCiAKRm9yIHRoZSBhYm92ZSBy ZWFzb24gSSBoYXZlIGRlY2lkZWQgdG8gc2VlayBmb3IgYW4gYXNzaXN0YW5jZSBhbmQgaGVscCBm cm9tIHlvdSBhcyBhIGZvcmVpZ24gcGFydG5lciB0byBlbmFibGUgdXMgcmVhY2ggYSBjb250cmFj dCBqb2ludCB2ZW50dXJlIHBhcnRuZXJzaGlwIGFncmVlbWVudCB0byB0cmFuc2ZlciBhbmQgaW52 ZXN0IHRoZSBmdW5kIGluIGEgcHJvZml0YWJsZSBidXNpbmVzcyBvcmllbnRhdGlvbiBpbiB5b3Vy IGNvdW50cnkgdW5kZXIgbG9uZyB0aW1lIGpvaW50IHZlbnR1cmUgcGFydG5lcnNoaXAgdG8gZW5h YmxlIHVzIGVudHJ1c3QgdGhlIGludmVzdG1lbnQgaW4geW91ciBjYXJlIGFuZCBtYW5hZ2VtZW50 IGFzIHNvb24gYXMgaXQgaXMgY2xlYXJlZCBmcm9tIHRoZSBzZWN1cml0eSB2YXVsdCBoZXJlIGlu IFRoYWlsYW5kLgogCigxKSBJIHdpbGwgb2ZmZXIgYSAxNSUgcmVhc29uYWJsZSBwZXJjZW50YWdl IGZyb20gdGhlIHRvdGFsIGZ1bmQgYXMgYSByZXdhcmQgZm9yIGFsbCB5b3VyIGhlbHAgaW4gdHJh bnNmZXJyaW5nIG9mIHRoZSBmdW5kIHRvIHlvdXIgYmFuayBhY2NvdW50IGluIHlvdXIgY291bnRy eSxvciBiZXR0ZXIgc3RpbGwgY29tbWl0IGl0IGludG8gdmlhYmxlIEpvaW50IHZlbnR1cmUgcHJv amVjdHMuCiAKKDIpIEkgd2lsbCBtYXAgb3V0IDUlIG9mIHRoZSB0b3RhbCBmdW5kIHRvIG1lZXQg dXAgYW55IGV4cGVuY2VzIG1hZGUgYnkgYm90aCBwYXJ0aWVzIGR1cmluZyB0aGUgdHJhbnNhY3Rp b24gYW5kIDg1JSB3aWxsIGJlIGZvciBvdXIgZnVydGhlciBpbnZlc3RtZW50IGluIGEgbHVjcmF0 aXZlIHZlbnR1cmUgd2Ugd2lsbCBhZ3JlZSB1cG9uIGluIHlvdXIgY291bnRyeSB1bmRlciB5b3Vy IHN1cGVydmlzaW9uLiAKIAooMykgVG8gZW5hYmxlIHVzIHJlbG9jYXRlIGFuZCBzZXR0bGUgaW4g eW91ciBjb3VudHJ5IGFzIHNvb24gYXMgdGhlIGZ1bmQgaXMgc3VjY2Vzc2Z1bGx5IHRyYW5zZmVy cmVkIHRvIHlvdXIgYWNjb3VudC4KIAooNCkgVG8gcmVhY2ggYSBsb25nIHRlcm0gcGFydG5lcnNo aXAgYWdyZWVtZW50IHRvIGVudHJ1c3QgdGhlIGludmVzdG1lbnQgaW4geW91ciBtYW5hZ2VtZW50 LiAKIAoKRm9yIHRoZSBpbnRlcmVzdCBvZiB0aGlzIHRyYW5zYWN0aW9uIGRvIG5vdCBoZXNpdGF0 ZSB0byBjb250YWN0IG1lIGhlcmU7IGFoYXNoaW1AZXhjaXRlLmNvbSAKICAgClRoYW5rcyBmb3Ig eW91ciB1bmRlcnN0YW5kaW5nLiAKIApBd2FpdGluZyB5b3VyIHVyZ2VudCByZXNwb25zZS4KIApZ b3VycyBTaW5jZXJlbHkKCk1yIGhhc2hpbSBBYnViYWthcgoK |