On Tue, 10 Apr 2007 09:00:21 -0700, PaĆ­lo Geyer wrote:

> hi, anyone here has experience with microsoft sql server? i did this
> little program:
> 
> #!/usr/bin/env ruby
> 
> require 'dbi'
> conn = DBI.connect('DBI:ODBC:jornaldedebates', 'sa', 'fodase') puts
> conn.tables
> 
> but when i try to run it, i get this error:
> paulo@shuffle:~/Desktop/tmp/sql$ ./dbi.rb
> /usr/lib/ruby/1.8/DBD/ODBC/ODBC.rb:95:in `connect': IM003 (0) [iODBC]
> [Driver Manager]Specified driver could not be loaded
> (DBI::DatabaseError)
>         from /usr/lib/ruby/1.8/dbi.rb:424:in `connect' from
>         /usr/lib/ruby/1.8/dbi.rb:215:in `connect' from ./dbi.rb:4
> 
> 
> any ideas?

verify that your linux (presumably) based ODBC setup is working correctly.
Since you're connecting to MSSQL you'll probably have an installation of
FreeTDS lying around, which needs to be correctly configured, too.

There are console tools for both components which can be used to put the
finger on the failing link in the chain.

ruby - dbi - odbc -- unixODBC - freetds -- network -- mssql

The error message tells me that you're reaching odbc from the left,
I also assume that you can actually connect via TCP/IP with the given
authentication data to MSSQL and that you can ping the Windows box.
But there are still two possible points of failure left.

HTH
s.