Skip to Content.
Sympa Menu

freetds - Re: [freetds] What's new list in FreeTDS 0.91 and 0.92

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: Raymond R Rankins <rrr03 AT health.state.ny.us>
  • To: FreeTDS Development Group <freetds AT lists.ibiblio.org>
  • Subject: Re: [freetds] What's new list in FreeTDS 0.91 and 0.92
  • Date: Wed, 11 May 2011 10:24:44 -0400


James,

Thanks for the detailed explanation.
Guess we'll just have to wait a while yet for support of the DATE datatype
on BCP in.
For now, I think we can live with this - most of our import processes
import to a staging table where all the columns are defined as char or
varchar, so this won't be a show stopper for us at this point.

-Ray





From: "James K. Lowden" <jklowden AT freetds.org>
To: freetds AT lists.ibiblio.org
Date: 05/11/2011 12:02 AM
Subject: Re: [freetds] What's new list in FreeTDS 0.91 and 0.92
Sent by: freetds-bounces AT lists.ibiblio.org



On Mon, 9 May 2011 10:17:16 -0400
Raymond R Rankins <rrr03 AT health.state.ny.us> wrote:

> Exporting of DATE columns seems to work fine, but when importing into
> a DATE column, I'm getting the "Msg 20049, Level 4 Data conversion
> resulted in overflow" error.

The upcoming release 0.91 will not support DATE or other types
introduced in SQL Server 2008. Support for these data types will take
some time, probably the rest of this year at least unless someone
contributes a patch.

Reading DATE "works" because the server converts DATE to varchar
(20) for clients using anything less than TDS Version 7.3. A BCP
upload requires the client to send DATE data in its binary 3-byte
format (days since 0001-01-01). Prior to TDS 7.3 no such type was
defined. If sent to a server using, say, TDS 7.2, the server would
probably reject the packet and disconnect the session, even if the
server supports TDS 7.3 and *could* recognize the datatype.

Give Microsoft credit for backwards compatibility. At the same time,
recognize that "protocol versions" are not as flexible as feature
negotiation. To support DATE, we have to implement the whole of TDS
7.3. We can't indicate to the server we'd like 7.2 with DATEs.

To support just DATE, we need inter alia:

1. convert DATE <-> varchar
2. convert DATE <-> DATETIME
3. convert DATE <-> SMALLDATETIME
4. support e.g. db_bind for DATE
5. add DATE to the conversion unit test

I took an initial step today to support a TDS 7.3 login packet. Once
we can log in, the server will start sending and receiving DATE in its
native form, and the work listed above can commence. Before the next
release, all 7.3 datatypes will need to be supported. Frediano is even
headed to MARS. (MARS, though, *is* a negotiable protocol
feature; you can be a 7.3 client with or without MARS support.)

So many features, so little time.

--jkl
_______________________________________________
FreeTDS mailing list
FreeTDS AT lists.ibiblio.org
http://lists.ibiblio.org/mailman/listinfo/freetds

IMPORTANT NOTICE: This e-mail and any attachments may contain confidential or
sensitive information which is, or may be, legally privileged or otherwise
protected by law from further disclosure. It is intended only for the
addressee. If you received this in error or from someone who was not
authorized to send it to you, please do not distribute, copy or use it or any
attachments. Please notify the sender immediately by reply e-mail and delete
this from your system. Thank you for your cooperation.

GIF image




Archive powered by MHonArc 2.6.24.

Top of Page