[freetds] SQL Server 2005 / 2008 support

James K. Lowden jklowden at freetds.org
Thu Dec 13 10:46:33 EST 2007

Sebastien FLAESCH wrote:
> My name is Sebastien FLAESCH 

Good morning, Sebastien.  Pleased to make your acquaintance.  Welcome to
the project.  

> Understand we do not just write a light driver to let 4gl programmers do
> a few SELECT / INSERT / UPDATE / DELETE statements;

FreeTDS is used extensively in many production environments, be assured.  

> - Version is still alpha/beta (0.64) - when you compile FreeTDS you get
> a debug version by default. - No scrollable cursors??? (this is very old
> stuff - now?)
> PLEASE: What are the plans?

There is no plan.  When and as we have time, we fix things and add things.
 You're welcome to join us.  It's a volunteer project, and the best
contributions come from people who want the software to do something it
doesn't already do.  

> - There is no official support for SQL Server 2005 / 2008 (only TDS 8.0)

And guess what?  There's no official support, full stop.  Everything we
know about TDS 7.0 and up is inferred by reverse engineering the TDS
packets.  (The only support we get from Microsoft is anti-support.  We've
talked to them.  They won't provide even documentation.  The next time you
read about Microsoft's latest open source marketing blather initiative, do
please bear that simple fact in mind.)  

To be clear, we're pretty current.  TDS 8.0 *is* for 2005, and 2008 is
still in beta, please.  Is there some protocol feature of SQL Server 2005
that you noticed is missing?  

> You guys probably know about SQL Server's Native Client that ships with
> SQL Server 9 (2005). This one is supposed to replace the old ODBC driver
> one day, from my understanding. Are they still using TDS with this
> Native Client? => Is TDS going to die?

Cf. http://blogs.msdn.com/dataaccess/archive/2005/04/26/412161.aspx

Every few years, Microsoft plops a New and Improved API out there for
everyone to ooh and ahh at.  That lets them and their groupies declare
they've once again made the world safe for programming.  

But TDS itself is a franchise.  It's 20 years old.  It works with probably
millions of clients and servers. It's very efficient, possibly the best
remote database protocol on the planet.  (Yes, it has warts.  Show me
software without warts and I'll show you a textbook.)  How in the world --
and why? -- would Microsoft damage its advantage?  It's one thing to say,
"Use .NET and be cool", and something else to say that old clients can't
connect to new servers or vice versa.  Especially because *TDS* isn't a
feature most people even know about, and would be devilishly hard to
improve on.  

As Acey J. Bunch says above, 

	"It is new in that this data access library did not exist prior to SQL
Server 2005, but rest assured that it is not some radical new design for
accessing data!"

I think we can say TDS is safe for another day.  

Regarding the issues you raised.  As you can tell from Frediano's response
(and I hope from the email archives) we take bug reports seriously.  But
please remember we'll work with you, not for you.  The more you do to
correct/isolate a problem, the sooner it will be fixed.  Suggestions,
ordered by decreasing helpfulness:

1.  Use the latest snapshot.  That's where any fixes/additions will be
2.  Send a patch. 
3.  Add a unit test illustrating the problem.  
4.  Describe the problem in terms of the source code.  "Function X on
lines Y-Z overwrites foo without adjusting the length in bar" can be a
good place to start.  
5.  Include a TDSDUMP trace.  That shows us the packet sequence and
calling sequence.  

Sebastien, I think this is the beginning of a beautiful friendship.  



More information about the FreeTDS mailing list