[freetds] Problem retrieveing results from a query withan IMAGE field

ZIGLIO, Frediano, VF-IT Frediano.Ziglio at vodafone.com
Thu Jun 5 09:29:05 EDT 2008


> 
> Il giorno mer, 04/06/2008 alle 15.05 -0300, Daniel A. Veiga 
> ha scritto:
> > This is the TDSDUMP log generated for the same program I sent the
> > unixODBC log file for. I hope it helps ...
> > 
> >                               Daniel
> > 
> 
> it helps, it helps :)
> 
> The code which cause the problem is in _SQLFetch 
> 
> 
> /* TODO change when we code cursors support... */
> /* stop looping, forward cursor support only one row */
> num_rows = 1;
> 
> well.. this tell to stop processing rows if an unbinded 
> column is found.
> This is done to allow getting results using SQLGetData 
> however we send a
> cursor fetch for 20 rows so in this case we have still to read 19 rows
> when SQLFetchScroll returns :(
> 
> Well... for forward only cursors this is correct for perhaps 
> for cursors
> is not... I think the correct processing should be fetch all 
> 20 rows or
> request only a row (I think the last is the most probable)... 
> I'll have
> to test.
> 

commenting num_rows = 1 line seems to fix the problem. Under ODBC 2
SQLFetch returns only a row and does not take into account fetched_ptr,
array_size and status_ptr.

freddy77



More information about the FreeTDS mailing list