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....