Skip to Content.
Sympa Menu

freetds - [freetds] I dunno whether this is FreeTDS or PyODBC or elsewhere...

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: "Luke Benstead" <kazade AT gmail.com>
  • To: "FreeTDS Development Group" <freetds AT lists.ibiblio.org>
  • Subject: [freetds] I dunno whether this is FreeTDS or PyODBC or elsewhere...
  • Date: Fri, 25 May 2007 12:15:08 +0100

Hi all,

I'm trying to run a select query from an apache/mod_python program using
PyODBC. The trouble is, no matter what I try only the first letter of the
query is being sent so I end up with errors like this;

ProgrammingError: ('42000', "[42000] [FreeTDS][SQL Server]Could not find
stored procedure 'S'. (2812)")

Loads of other queries work, and this one works from the interpreter but not
from the program itself. I know that the full query is being passed into
PyODBC, but I don't know where the rest is getting lost. Could someone let
me know if this is a problem in FreeTDS? If not I'll go complain to the
PyODBC people.

Here is the log from just after the last successful query:

token.c:526:processing result tokens. marker is 81(TDS7_RESULT)
mem.c:519:tds_free_all_results()
token.c:1472:processing TDS7 result. set current_results to tds->res_info
token.c:3395:adjust_character_column_size:
Server charset: UCS-2LE
Server column_size: 128
Client charset: UTF-8
Client column_size: 256
read.c:179:tds_get_string: reading 36 from wire to give 18 to client.
token.c:1414:tds7_get_data_info:
colname = ProductDescription (18 bytes)
type = 39 (varchar)
server's type = 231 (x UCS-2 varchar)
column_varint_size = 2
column_size = 256 (128 on server)
util.c:119:Changing query state from READING to PENDING
util.c:119:Changing query state from PENDING to READING
token.c:526:processing result tokens. marker is d1(ROW)
util.c:119:Changing query state from READING to PENDING
util.c:119:Changing query state from PENDING to READING
token.c:526:processing result tokens. marker is d1(ROW)
token.c:1863:tds_get_data: column 0, type 39, varint size 2
token.c:1920:processing row. column size is 22
util.c:119:Changing query state from READING to PENDING
convert_tds2sql.c:62:convert_tds2sql: src is 39 dest = 1
convert_tds2sql.c:113:convert_tds2sql: outputting character data destlen =
2048
net.c:673:Sending packet
0000 06 01 00 08 00 00 01 00- |........|

util.c:119:Changing query state from PENDING to READING
token.c:526:processing result tokens. marker is ff(DONEINPROC)
token.c:2143:tds_process_end: more_results = 1
was_cancelled = 0
error = 0
done_count_valid = 1
token.c:2175: rows_affected = 1
token.c:526:processing result tokens. marker is 79(RETURNSTATUS)
token.c:526:processing result tokens. marker is fe(DONEPROC)
token.c:2143:tds_process_end: more_results = 0
was_cancelled = 0
error = 0
done_count_valid = 0
net.c:446:Received header
0000 04 01 00 11 00 40 01 00- |.....@..|

net.c:542:Received packet
0000 fd 20 00 fd 00 00 00 00-00 |. ...... .|

token.c:526:processing result tokens. marker is fd(DONE)
token.c:2143:tds_process_end: more_results = 0
was_cancelled = 1
error = 0
done_count_valid = 0
token.c:2159:tds_process_end() state set to TDS_IDLE
util.c:119:Changing query state from READING to IDLE
util.c:119:Changing query state from IDLE to QUERYING
mem.c:519:tds_free_all_results()
write.c:134:tds_put_string converting 1 bytes of "S"
write.c:162:tds_put_string wrote 2 bytes
util.c:119:Changing query state from QUERYING to PENDING
net.c:673:Sending packet
0000 01 01 00 0a 00 00 01 00-53 00 |........ S.|

util.c:119:Changing query state from PENDING to READING
net.c:446:Received header
0000 04 01 00 78 00 40 01 00- |...x.@..|

net.c:542:Received packet
0000 aa 64 00 fc 0a 00 00 3e-10 24 00 43 00 6f 00 75 |.d.....> .$.C.o.u|
0010 00 6c 00 64 00 20 00 6e-00 6f 00 74 00 20 00 66 |.l.d. .n .o.t. .f|
0020 00 69 00 6e 00 64 00 20-00 73 00 74 00 6f 00 72 |.i.n.d. .s.t.o.r|
0030 00 65 00 64 00 20 00 70-00 72 00 6f 00 63 00 65 |.e.d. .p .r.o.c.e|
0040 00 64 00 75 00 72 00 65-00 20 00 27 00 53 00 27 |.d.u.r.e . .'.S.'|
0050 00 2e 00 08 45 00 4d 00-4d 00 41 00 4e 00 55 00 |....E.M. M.A.N.U.|
0060 45 00 4c 00 00 01 00 fd-02 00 e0 00 00 00 00 00 |E.L..... ........|

token.c:526:processing result tokens. marker is aa(ERROR)
token.c:105:tds_process_default_tokens() marker is aa(ERROR)
token.c:2439:tds_process_msg() reading message from server
read.c:179:tds_get_string: reading 72 from wire to give 36 to client.
read.c:179:tds_get_string: reading 16 from wire to give 8 to client.
token.c:2501:tds_process_msg() calling client msg handler
token.c:2514:tds_process_msg() returning TDS_SUCCEED
token.c:526:processing result tokens. marker is fd(DONE)
token.c:2143:tds_process_end: more_results = 0
was_cancelled = 0
error = 1
done_count_valid = 0
token.c:2159:tds_process_end() state set to TDS_IDLE
util.c:119:Changing query state from READING to IDLE
util.c:119:Changing query state from IDLE to PENDING


Thanks,

Luke.




Archive powered by MHonArc 2.6.24.

Top of Page