On Jul 29, 2004, at 20:18, Clifford Heath wrote:

> Nathaniel Talbott wrote:
>> ... unixodbc... Ruby/ODBC.... FreeTDS
>
> Which of those modules calls FreeTDS and how does it plug in?

The link was (DBI is optional):

   Ruby -> (DBI) -> Ruby/ODBC -> unixodbc -> FreeTDS -> MS SQL Server


> Should Ruby or DBI have a direct wrapper for FreeTDS?

A Ruby wrapper for FreeTDS would be great, and adapting it to DBI would 
be a cinch. I just didn't have the time, inclination, or skills to 
write one when I needed access, and using ODBC worked OK.


> I'm in the situation of needing to access MS SQL Server from Linux
> also (not just Ruby), so I'm interested to know of any pitfalls with
> FreeTDS, if you care to share.

The main issue with FreeTDS is one of maturity; the protocol is fairly 
complex, especially since they're trying to support multiple versions 
of it for multiple databases which have varying sets of functionality. 
When I ran in to trouble, the FreeTDS list was pretty helpful, and the 
code wasn't terrible to figure out either. Most the problems actually 
had to do with the ODBC part of FreeTDS, so a direct wrapper would 
probably be more stable.

I don't know that I can tell you much more than that, except to say 
that out of all the pieces of the project I was working on, the link to 
SQL Server produced the most headaches. I wouldn't do it lightly, and I 
would write a direct FreeTDS wrapper if you can.

HTH,


Nathaniel
Terralien, Inc.

<:((><