Re: FreeTDS problems with converting SQL BigInt
Feroze Daud <[email protected]>
| Newsgroups | gmane.comp.db.tds.freetds |
|---|---|
| Message-ID | <[email protected]> |
we are using TDS protocol version 8. Should we be using something else? here is our connection string... -- Initializing processing with connection string:DRIVER=FreeTDS;Server=<snip>;UID=<snip>;PWD=<snip>;Database=<snip>;TDS_Version=8.0;Port=1433 -- feroze. ________________________________ From: Frediano Ziglio <[email protected]> To: Feroze Daud <[email protected]>; FreeTDS Development Group <[email protected]> Sent: Thursday, September 19, 2013 11:09 AM Subject: Re: [freetds] FreeTDS problems with converting SQL BigInt 2013/9/19 Feroze Daud <[email protected]>: > 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 <[email protected]> > To: [email protected] > Cc: Feroze Daud <[email protected]>; FreeTDS Development Group <[email protected]> > 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 <[email protected]> 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 > [email protected] > http://lists.ibiblio.org/mailman/listinfo/freetds