Re: MemoryError using Sybase, FreeTDS, MS SQL

Dave Cole <[email protected]>
Newsgroups gmane.comp.python.sybase
Message-ID <[email protected]>
> Hi, Dave, thanks for your response.  We have a big interest in this
> module because without it, we have to use a combination of Perl and
> Python and it's pretty ugly.

Funny, that is why I wrote the module - I was looking at either Perl
or ISQL...

[snip]

> ct_describe(cmd1, 10, &fmt) -> CS_SUCCEED, datafmt9=[name:"material"
> type:CS_TEXT_TYPE status:CS_CANBENULL format:CS_FMT_UNUSED count:1
> maxlength:2147483647]

I think that maxlength is the problem here.  Can you try a little
experiment for me...  Try this patch:

--- Sybase.py	23 Jan 2003 10:11:02 -0000	1.56
+++ Sybase.py	24 Jan 2003 01:01:13 -0000
@@ -158,6 +158,8 @@
         fmt.count = count
         if fmt.datatype == CS_VARBINARY_TYPE:
             fmt.datatype = CS_BINARY_TYPE
+        if fmt.maxlngth > 65536:
+            fmx.maxlength = 65536
         status, buf = cmd.ct_bind(i + 1, fmt)
         if status != CS_SUCCEED:
             raise Error('ct_bind')

I am not sure if will solve the problem or not, but it is worth a try.

> There should be two more columns after the "material" column, so it
> seems that it does not finish retrieving one row, but stops at the
> first text type row.
> 
> Knowing this, I've tried a similar query on a table that does not
> have a text column and I get a different error.  Here is part of the
> output, the full output is attached in "output2".
> 
> ct_describe(cmd1, 8, &fmt) -> CS_SUCCEED, datafmt7=[name:"energy"
> type:CS_FLOAT_TYPE status:CS_FALSE format:CS_FMT_UNUSED count:1
> maxlength:8 scale:0 precision:0]
> ct_bind(cmd1, 8, &datafmt7->fmt=[name:"energy" type:CS_FLOAT_TYPE
> status:CS_FALSE format:CS_FMT_UNUSED count:32 maxlength:8 scale:0
> precision:0], databuf7->buff, databuf7->copied, databuf7->indicator)
> ->
> CS_SUCCEED, databuf7
> ct_fetch(cmd1, CS_UNUSED, CS_UNUSED, CS_UNUSED, &rows_read) ->
> CS_ROW_FAIL, 0

This looks like another column binding problem.  Can you send a more
complete debug trace?

- Dave

-- 
http://www.object-craft.com.au
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.