Re: [cx-oracle-users] ValueError: string data too large
Brought to you by:
atuining
From: Anthony T. <ant...@gm...> - 2010-07-08 13:54:24
|
Hi, I have done this for you but you could have done it yourself. http://cx-oracle.sourceforge.net has a link to the mailing list and so does every e-mail sent to the list (at the very bottom). Follow that link and then follow the instructions on that page. Anthony On Thu, Jul 8, 2010 at 1:02 AM, <yoa...@or...> wrote: > > Hello, > > Could you drop me of the email list please. > > Thanks. > > Best Regards, > > Yoann Royer > > > -----Message d'origine----- > De : Mark Harrison [mailto:mh...@pi...] > Envoyé : jeudi 8 juillet 2010 00:45 > À : cx-...@li... > Objet : Re: [cx-oracle-users] ValueError: string data too large > > On 7/7/10 3:39 PM, Anthony Tuininga wrote: >> Hi Mark, >> >> This error can occur if you bind a string shorter than 4000 characters >> in one iteration and then bind a string larger than 4000 characters in >> another iteration. Or if you use setinputsizes() to specify a >> character string and then try to bind more than 4000 characters. The >> 4000 characters (bytes really) can be different if you use a multibyte >> character set on the client/server, of course. If you pass a string >> longer than 4000 characters on the first iteration then cx_Oracle will >> use a "long" variable -- and Oracle has a number of restrictions on >> those so I would use CLOB personally. >> >> You can use cursor.var() if you like, or you can simply use >> setinputsizes() to specify that you want to use a CLOB in a particular >> position and then simply pass the string directly. >> >> HTH, >> Anthony > > Thanks Anthony, it does! > > > > >> >> On Wed, Jul 7, 2010 at 2:43 PM, Mark Harrison<mh...@pi...> wrote: >>> A coworker has asked me this... he's occasionally geting a >>> "ValueError: string data too large" when calling cursor.execute(). >>> >>> >>> we're going to try something like this: >>> >>> clob = cursor.var(cx_Oracle.CLOB) >>> clob.setvalue(0, contents) >>> >>> and see if that works. But I'm a bit confused, since the code below >>> works the majority of the time. >>> >>> 1. are we on the right track to change to use clob.setvalue? >>> >>> 2. should the simple string code work at all? >>> >>> Many TIA!!! >>> >>> Mark >>> >>> ---------------------------- >>> >>> >>> Mark, >>> This is the "ValueError: string data too large" error message >>> that I brought up in our last meeting. It only happens >>> sometimes, but causes grief when it does. In this instance >>> the value for the CLOB column called "contents" in our >>> foo table is around 130,000 characters. >>> There are other rows in that table with longer values up to >>> 179507, so clearly the limit (if there is a limit at all) is >>> not being exceeded. >>> >>> This one happened a little before 3:29 today. Could you ask >>> the DBAs to look into this? >>> >>> >>> 370 contents = simplejson.dumps(newworkspace).encode('ascii') >>> 371 sql = "UPDATE foo SET name=:1, owner=:2, viewers=:3, contents=:4 WHERE workspaceid=:5" >>> 372 values = [name, owner, viewers, contents, workspaceid] >>> 373 self._cursor.execute(sql, values) >>> >>> >>> >>> > File "/data/foo.py", line 373, in saveWorkspace >>> > self._cursor.execute(sql, values) >>> > >>> > ValueError: string data too large >>> >>> --------------------------------------------------------------------- >>> --------- This SF.net email is sponsored by Sprint What will you do >>> first with EVO, the first 4G phone? >>> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first >>> _______________________________________________ >>> cx-oracle-users mailing list >>> cx-...@li... >>> https://lists.sourceforge.net/lists/listinfo/cx-oracle-users >>> >> >> ---------------------------------------------------------------------- >> -------- This SF.net email is sponsored by Sprint What will you do >> first with EVO, the first 4G phone? >> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first >> _______________________________________________ >> cx-oracle-users mailing list >> cx-...@li... >> https://lists.sourceforge.net/lists/listinfo/cx-oracle-users > > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone? > Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first > _______________________________________________ > cx-oracle-users mailing list > cx-...@li... > https://lists.sourceforge.net/lists/listinfo/cx-oracle-users > > ********************************* > This message and any attachments (the "message") are confidential and intended solely for the addressees. > Any unauthorised use or dissemination is prohibited. > Messages are susceptible to alteration. > France Telecom Group shall not be liable for the message if altered, changed or falsified. > If you are not the intended addressee of this message, please cancel it immediately and inform the sender. > ******************************** > > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by Sprint > What will you do first with EVO, the first 4G phone? > Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first > _______________________________________________ > cx-oracle-users mailing list > cx-...@li... > https://lists.sourceforge.net/lists/listinfo/cx-oracle-users > |