[freetds] Problem retrieveing results from a query with an IMAGE field

Daniel A. Veiga dveiga at advtechnology.com.ar
Tue Jun 3 17:52:44 EDT 2008


>> Hi,
>>    My name is Daniel. I'm a programmer at ADV Technology in
>> Argentina.
>> I'm developing using FreeTDS and came into a problem when retrieving
>> results from a query that has an IMAGE field in a MSDE (SQL Server)
>> database.
>>    I can reproduce the problem systematically:
>>      - If no row has any data in the IMAGE field -> no problem
>>      - When a field has something in the blob column I get an error
>> when trying to close the cursor (Linux Driver Manager log follows)
>>
>> [ODBC][32484][SQLFreeStmt.c][140]
>>                 Entry:
>>                         Statement = 0x750380
>>                         Option = 0
>> [ODBC][32484][SQLFreeStmt.c][246]
>>                 Exit:[SQL_ERROR]
>>
>>        If I try to call SQLGetDiagRec to get extended information,
>> the
>> result is SQL_NO_DATA (strange, should report something if the
>> previous function returned SQL_ERROR or SQL_SUCCESS_WITH_INFO)
>>
>>        If I ignore the error and release the Stmt handle, it
>> succeeds,
>> but look al the log!
>>
>> [ODBC][32484][SQLFreeHandle.c][372]
>>                 Entry:
>>                         Handle Type = 3
>>                         Input Handle = 0x750380
>> [ODBC][32484][SQLFreeHandle.c][471]
>>                 Exit:[SQL_SUCCESS]
>>                 DIAG [24000] [FreeTDS][SQL Server]Attempt to
>> initiate a
>> new Adaptive Server operation with results pending
>>
>>                 DIAG [24000] [FreeTDS][SQL Server]Attempt to
>> initiate a
>> new Adaptive Server operation with results pending
>>
>>        Trying to alloc a new statement succeeds, but if you try to
>> use
>> it you get:
>>
>>                 Exit:[SQL_ERROR]
>>                 DIAG [24000] [FreeTDS][SQL Server]Invalid cursor
>> state
>>
>>         Does anybody know what could be wrong?
>>         Thanks,
>>
>>
>>                                  Daniel
>>
>
> Quite strange, it seems that client loose sync with server if data are
> returned. Client should cache all row so I don't understand how it can
> loose such sync. Which FreeTDS version are you using ?
>
> freddy77
>
>

I'm using a Fedora Core 8 and normally use the "Package Updater" to
update my system. But after I faced the problem I don't know where I
read that the latest version was only available through CVS. That's why
before sending a report I downloaded the latest source code via CVS,
recompiled and tested again. The info I sent was taken from version
0.82. The last change in the ChangeLog was "Wed May 21 23:51:21 EDT
2008    JK Lowden <jklowden at freetds.org>". AFAIK this should be the
latest versión.
I'm completely new to TDS, but I'm profficient at C programming, so if
I can do anything to help just let me know ...
Bye

                                   Daniel





More information about the FreeTDS mailing list