[freetds] FreeTDS and ODBC

Michal Seliga michal.seliga at visicom.sk
Thu Nov 26 07:11:02 EST 2009


i apologise, these files i sent are junk, differences between them are because
for tsql i had set protocol to 8.0 but for odbc not....

i found problem why freetds + qt doesn't work. it seems unicode is the reason

all packets sent by iodbctest or tsql are in ascii. all packets sent from qt
application are unicode. i read on freetds user manual that unicode support is
incomplete and in qt bugtracking i found 'FreeTDS is not and will not be
supported under qt until they fix the unicode issues. There are large chunks of
code that fail, and a large set of our autotests fail with Freetds.'
(http://bugreports.qt.nokia.com/browse/QTBUG-850 for details). I thought its
issue only for QTDS driver, but it seems it causes problems in odbc too

any idea how to solve it?

Michal Seliga wrote:
> now really with files attached
> 
> Michal Seliga wrote:
>> hi james, thank you for an idea
>>
>> i was experimenting with some more queries (i was doing comparison between
>> freetds, iodbc and unixodbc tools) and i found one which shows problems even sooner
>>
>> 'select count(*) from customer' returns correct result when launched from tsql
>> only, but returns nothing from iodbctest or isql (or qt application). in next i
>> will be using only iodbc because this is what i have to use in future anyway and
>> its lowest level which already shows any sign of problems
>>
>> attached are 3 files
>>
>> freetds_tsql.log - eberything worked as it should, i tried to use this log in
>> comparison with one i got when i used iodbctest, but they seem to differ too much
>>
>> iodbc_odbctrace.log - problem can be found in stage when SQLFetchScroll was
>> called and it returned SQL_NO_DATA_FOUND instead of data
>>
>> freetds_iodbctest.log - i don't know if i am reading this log correctly, its not
>> so selfexplanatory as one from iodbc, and it differs too much from log i got
>> when i used tsql. i don't know what's exactly is wrong, could you please help me
>> again?
>>
>> i clearly see that even first packet sent differs, so it might be actually
>> problem that freedts doesn't cooperate with iodbc as it should? and as result it
>> sometimes works and sometimes not?
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> James K. Lowden wrote:
>>> Michal Seliga wrote:
>>>> i try to connect to microsoft sql 2000 database which runs on another
>>>> machine
>>>>
>>>> - tsql from freedts works (both using -S and configfile or using -H -p
>>>> directly) - iodbctest works (using DSN with ServerName)
>>>> - qt linked to iodbc library doesn't work  (every query returns empty
>>>> resultset) - connection to database using isql (unixodbc) doesn't work -
>>>> some queries work (for example select count(*) from sometable) , some
>>>> return empty resultsets (for example select textcolumn from sometable)
>>> It sounds to me like some upper layer is dropping your data.  That could
>>> be because it's broken, or because it expects the ODBC driver to do
>>> something it's not doing, or is doing differently.  
>>>
>>> TDSDUMP is your friend.  Make sure the data are being returned by the
>>> server, and watch for errors that might not be shown by the qt layer.  
>>>
>>> HTH.
>>>
>>> --jkl
>>> _______________________________________________
>>> FreeTDS mailing list
>>> FreeTDS at lists.ibiblio.org
>>> http://lists.ibiblio.org/mailman/listinfo/freetds
>>>
>> _______________________________________________
>> FreeTDS mailing list
>> FreeTDS at lists.ibiblio.org
>> http://lists.ibiblio.org/mailman/listinfo/freetds
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> FreeTDS mailing list
>> FreeTDS at lists.ibiblio.org
>> http://lists.ibiblio.org/mailman/listinfo/freetds



More information about the FreeTDS mailing list