|
From: Christophe C. <cc...@fr...> - 2007-07-17 13:51:22
|
Christophe Combelles a écrit :
> Hello,
>
> I'm new to this list, and I'm currently trying to access an old windows Sybase
> ASA 7.0 from python/linux. I could make it work with freedts, but it hangs on
> some operation:
>
> >>> db=Sybase.connect(...)
> >>> c=db.cursor()
> >>> c.execute('select * from rue')
> >>> c.fetchone()
> (...)
> >>> c.close()
>
> here it hangs, nothing happens, with 0% CPU.
> It only exits if I stop the database server:
>
> Exception Sybase.DatabaseError: <Sybase.DatabaseError instance at 0xb7cf47cc> in
> <bound method _FetchLazy.__del__ of <Sybase._FetchLazy instance at 0xb7cf4e4c>>
> ignored
>
> What is the recommended way to investigate this?
> Did anyone have the same problem or is it trivial?
>
> thanks,
> Christophe
more info:
I'm using python 2.4.4 with sybase-python 0.38 compiled with -D HAVE_FREETDS -U
WANT_BULKCOPY, and freetds/libct4 0.64rc2.
it also hangs if I call again c.execute(...) after c.fetchone()
The last thing found in the freetds logfile (debug level 99) is:
-------------------------------------------------------
(...)
token.c:1863:tds_get_data: column 8, type 47, varint size 1
token.c:1920:processing row. column size is 16
token.c:1863:tds_get_data: column 9, type 111, varint size 1
token.c:1920:processing row. column size is 8
token.c:1863:tds_get_data: column 10, type 39, varint size 1
token.c:1920:processing row. column size is 3
token.c:1863:tds_get_data: column 11, type 39, varint size 1
token.c:1920:processing row. column size is 1
token.c:1863:tds_get_data: column 12, type 111, varint size 1
net.c:446:Received header
0000 04 01 00 11 00 00 00 00- |........|
net.c:542:Received packet
0000 fd 30 00 02 00 d1 04 00-00 |.0...... .|
token.c:1920:processing row. column size is 253
-------------------------------------------------------
If I hit Ctrl-C on the python terminal, the freetds logfile tells:
net.c:336:socket read interrupted
(as many times I hit Ctrl-C)
Is there a clue to say if this is an issue in freetds or python-sybase ?
|