Re: SQL Server 2008 features supported by FreeTDS 0.9x

"James K. Lowden" <[email protected]>
Newsgroups gmane.comp.db.tds.freetds
Message-ID <[email protected]>
On Wed, 28 Sep 2011 11:44:43 +0200
Sebastien FLAESCH <[email protected]> wrote:

> I see that FreeTDS supports SQL Server 2008, 

I guess you're referring to the last row in table 3-1 in the UG?  I wish
someone had spotted that.  It's wrong.  

We need better documentation about this, agreed.  It would help me very
much if we had a consultant in our midst who uses a variety of servers
and is willing to maintain a feature-set list for every server
release.  As it is, I found out about 2008 & 7.3 when my office upgraded
last November.  

SQL Server 2008 introduced TDS version 7.3.  You can still connect to
it with 7.[012], but you don't get the new datatypes.  

Microsoft is very good about backwards compatibility: old clients can
connect to new servers.  Datatypes that don't exist in any given
version of the protocol are converted to one that does exist.  A TDS
4.2 client connecting to a modern server can still select from a table
with NUMERIC and DATE, the server converts them to float and varchar.  

> I would like to know what
> features of SQL Server 2008 are supported.
> 
> For example, are the DATE, TIME and DATETIME2 types supported?

Release 0.91 is a SQL Server 2005, TDS 7.2 release.  There is no
support for TDS 7.3.  If you connect to a 2008 server, it will convert
any new types to something supported in TDS 7.2 (i.e. SQL Server
2005).  Notably, you cannot use 0.91 to BCP into tables with the new
types.[1]

Support for TDS 7.3 is an all or nothing proposition: if the login
packet indicates a 7.3 client, the server uses the new features, all of
them, else none.  It will be a long road unless help arrives.  

Frediano has begun to work on TDS 7.3.  I have embarked in another
direction, to replace libtds with an automaton generated from a
tablular description of the TDS protocol.   Frediano said he liked the
idea; it's now up to me to show something that works, at least
partially.  I'm making progress and will post my findings when I have
something resembling a working parser.  (Anyone who wants to know more
knows where to find me.)  

I hope that answers your question.  

--jkl

[1]  It would be *interesting* to try sending 7.3 types upstream via
bcp on a 7.2 connection.  I wonder how the server would react.  It
might not mind....
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.