On Tue, 2006-08-01 at 14:05, [EMAIL PROTECTED] 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 -- http://mail.python.org/mailman/listinfo/python-list