Skip to Content.
Sympa Menu

freetds - RE: [freetds] Problem with data type conversions and FreeTDS

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: "Thompson, Bill D (London)" <ThompBil AT exchange.uk.ml.com>
  • To: "'FreeTDS Development Group'" <freetds AT lists.ibiblio.org>
  • Subject: RE: [freetds] Problem with data type conversions and FreeTDS
  • Date: Wed, 30 Jul 2003 16:20:29 +0100

Hi,

Here's my two penn'orth...

I agree with james about the API issue, but that aside, I can't see a
reason why the tds_convert call wouldn't convert this properly...

Could you tell the value of "conversion_type" and "size" as passed into
tds_convert ?

If these were correct, then all tds_convert really does is a sprintf()....

Bill

> -----Original Message-----
> From: Lowden, James K [SMTP:LowdenJK AT bernstein.com]
> Sent: 30 July 2003 15:58
> To: 'FreeTDS Development Group'
> Subject: RE: [freetds] Problem with data type conversions and FreeTDS
>
> > From: James Vanns [mailto:jimv AT canterbury.ac.uk]
> > Sent: July 30, 2003 9:13 AM
> >
> > I had a friend create a table on his M$ SQL server 2000 with just one
> > row and as many columns as data types. He filled each field with a
> > different value corresponding to data type. E.g.
> >
> > bigint, bit, char, datetime, float, money, nvarchar, unique
> > 1111119,1,c,30/04/2003 13:00:19,23.45, 123.45, hello,
> > {F44A-etc-...blah}
> >
> > Note the Unique identifier in the above example is not the
> > real value I
> > just couldn't be bothered to write it out in full!
> >
> > Anyway using the code snippet below works great except when trying to
> > convert and print the unique ID. What should I be doing to allow all
> > data types to be printed successfully as with tsql and sqsh?
>
> Welcome, James.
>
> sqsh doesn't understand the uniqueidentifier datatype. tsql does. It's
> not
> a blob; it's a structure. I don't know if it can be converted to an image
> or varbinary type. It can be converted to char/varchar.
>
> $ tsql -S$S -U$U -P$P
> locale is "C"
> using default charset "ISO-8859-1"
> Msg 5703, Level 0, State 1, Server NTS0214, Line 0
> Changed language setting to us_english.
> 1> select newid()
> 2> go
>
> 016BA787-C0A4-11D7-BAA8-0004ACE38BF3
> 1>
>
> Does that answer your question?
>
> Supporting code for the conversion can be found in src/tds/convert.c.
>
> I note we don't test uniqueidentifier conversions in our unit test.
> Probably ought to.
>
> One last thing, if you don't mind my mentioning it. We usually discourage
> people from using libtds directly, in favor of db-lib, ct-lib, and ODBC.
> Our TDS library is an internal convenience for us, and changes quite
> frequently. The client libraries OTOH have external specifications we're
> striving to meet, so using them is to your advantage. If you're sure you
> want to use libtds, that's fine, too, but you'll want to stay subscribed
> here to keep abreast of its metamorphosis.
>
> Hope that's of some use to you.
>
> --jkl
> -----------------------------------------
> The information contained in this transmission may contain privileged and
> confidential information and is intended only for the use of the person(s)
> named above. If you are not the intended recipient, or an employee or
> agent responsible for delivering this message to the intended recipient,
> any review, dissemination, distribution or duplication of this
> communication is strictly prohibited. If you are not the intended
> recipient, please contact the sender immediately by reply e-mail and
> destroy all copies of the original message. Please note that we do not
> accept account orders and/or instructions by e-mail, and therefore will
> not be responsible for carrying out such orders and/or instructions.
>
>
> _______________________________________________
> FreeTDS mailing list
> FreeTDS AT lists.ibiblio.org
> http://lists.ibiblio.org/mailman/listinfo/freetds





Archive powered by MHonArc 2.6.24.

Top of Page