[freetds] FreeTDS problems with converting SQL BigInt

Frediano Ziglio freddy77 at gmail.com
Thu Sep 19 14:09:14 EDT 2013


2013/9/19 Feroze Daud <khichdo at yahoo.com>:
> So, I enabled logging for my application. This is what it shows me for the column that is being corrupted.
>
> --
> 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
> read.c:179:tds_get_string: reading 20 from wire to give 10 to client.
> token.c:1414:tds7_get_data_info:
>         colname = MaxQueueID (10 bytes)
>         type = 108 (numeric)
>         server's type = 108 (numeric)
>         column_varint_size = 1
>         column_size = 17 (17 on server)
>
> --
>
> Does this mean that the TDS stream that is being read by freetds is advertizing the column as numeric?
>

No, it means the server is returning the number as numeric. Are you
sure you are using proper protocol version?

> Is there any way to have tdslog print out the value of the column that it is reading from the socket?
>

If you can read binary yes, just turn network data dump on.

> feroze.
>
>
>

Frediano

>
> ----- Original Message -----
> From: James K. Lowden <jklowden at freetds.org>
> To: freetds at lists.ibiblio.org
> Cc: Feroze Daud <khichdo at yahoo.com>; FreeTDS Development Group <freetds at lists.ibiblio.org>
> Sent: Wednesday, September 18, 2013 6:32 PM
> Subject: Re: [freetds] FreeTDS problems with converting SQL BigInt
>
> On Wed, 18 Sep 2013 13:03:50 -0700 (PDT)
> Feroze Daud <khichdo at yahoo.com> wrote:
>
>> Thanks. Unfortunately, I need to get the output parameter first, so I
>> changed the sproc to return the value as a resultset, instead of an
>> output parameter.
>
> As Frediano mentioned, the server sends the output parameter after any
> ROW packets.  FreeTDS makes the data available to the application as
> they arrive from the server.
>
>> This brings me to the original problem. I am getting garbage values
>> out of call to getBigInteger.
>
> What does src/odbc/unittests/genparams show on your machine regarding
> the BIGINT type?
>
>> Is there any way to enable Freetds logging for applications that dont
>> go through the odbc driver manager?
>
> Cf. TDSDUMP in the user guide.
>
> HTH.
>
> --jkl
>
> P.S.  Top-posting reduces the value of the email archive by making it
> harder to follow the thread.
> _______________________________________________
> FreeTDS mailing list
> FreeTDS at lists.ibiblio.org
> http://lists.ibiblio.org/mailman/listinfo/freetds


More information about the FreeTDS mailing list