Can't get LCHARVAR's with InformixDB

Carsten Haese carsten at uniqsys.com
Tue Aug 1 17:21:39 EDT 2006


On Tue, 2006-08-01 at 14:05, fhurley at gmail.com wrote:
> Carsten Haese wrote:
> > Once again, I'll need
> > the create table statement for the table you're selecting from in order
> > to investigate what's happening.
> 
> Here it is:
> 
> CREATE TABLE DEV_LOG(
>  LOG_ID SERIAL,
>  LEVEL VARCHAR (10),
>  POI_NM VARCHAR (255),
>  MSG_TX LVARCHAR(2000),
>  MSG2_TX LVARCHAR(5000)
> ) LOCK MODE ROW;

The following test script works fine for me:

---------------------------------------------------------
import informixdb

conn = informixdb.connect("mydb")
cur = conn.cursor()
cur.execute("""
CREATE temp TABLE DEV_LOG(
 LOG_ID SERIAL,
 LEVEL VARCHAR (10),
 POI_NM VARCHAR (255),
 MSG_TX LVARCHAR(2000),
 MSG2_TX LVARCHAR(5000))""")
str1 = "ABCDEFGHIJ"*200
str2 = "ABCDEFGHIJ"*500
cur.execute("insert into dev_log values(?,?,?,?,?)",
  (0,'MEDIUM','TESTMAN',str1,str2) )
cur.execute("select * from dev_log")
row = cur.fetchone()
assert row[3]==str1
assert row[4]==str2
print cur.description
---------------------------------------------------------

I have tested this two ways, once directly on the server on Linux, once
with a client-server connection from Windows to Linux. In both cases,
both lvarchars are being read back correctly. One notable difference
between your environment and mine is that I'm using CSDK version
2.90.TC3, which is more recent than the version of CSDK that you're
using. 

I'd suggest upgrading to the newest version of CSDK. Please let me know
what happens after the upgrade.

-Carsten





More information about the Python-list mailing list