The SQL Server adapter can currently operate in two modes, ADO and
ODBC, each of which uses a different interface to access the db.  The
ADO interface is currently the default, while ODBC can be specified as
an option.

I propose this situation is reversed, and that use of the ADO
interface is deprecated, if not removed altogether.  Here are some
reasons, I'm sure there are more:

a) ADO uses a COM interface, so can only be used on Windows.  ODBC
works across all systems

b) The activerecord test suite passes fine using ODBC, but under ADO
occassionally fails with  strange win32ole related errors.  Based on
my own experiences with deployed apps, it seems less reliable.

c) The ADO DBI driver is half finished, with TODOs throughout the code.

d) The ODBC dbi driver is provided in the windows ruby one-click
installer, while the ADO driver has to be specifically installed.

e) Although DBI should mean a uniform interface to the db, there are
some quirks, such as the ADO adapter returning strings where ODBC
returns DBI::TimeStamp

f) Having only one interface would make development and documentation
of the adapter far more manageable.

So what do people think?  Does ADO have advantages over ODBC I'm not
aware of?  Are there other reasons to keep ADO support in the adapter?

Unless people have significant objections, I'll create a ticket and
patch to deprecate ADO, and update the wiki instruction pages
accordingly.

Tom
_______________________________________________
Rails-core mailing list
[email protected]
http://lists.rubyonrails.org/mailman/listinfo/rails-core

Reply via email to