Connecting to MS SQL from Snow Leopard

Has anyone been able to get Rails talking to Microsoft SQL Server from OSX Snow Leopard? In the past with Leopard, I used the instructions found here: http://wiki.rubyonrails.org/database-support/ms-sql. But with Snow Leopard I get the following error when I try to access an ActiveRecord object:

/usr/local/lib/ruby/gems/1.8/gems/dbd-odbc-0.2.4/lib/dbd/odbc/ statement.rb:41: [BUG] Segmentation fault ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-darwin10.0.0]

Any help is appreciated!

Thanks, Tom

Have you gotten unixODBC to work on Snow Leopard?

TomRossi7 wrote:

Has anyone been able to get Rails talking to Microsoft SQL Server from OSX Snow Leopard? In the past with Leopard, I used the instructions found here: http://wiki.rubyonrails.org/database-support/ms-sql. But with Snow Leopard I get the following error when I try to access an ActiveRecord object:

/usr/local/lib/ruby/gems/1.8/gems/dbd-odbc-0.2.4/lib/dbd/odbc/ statement.rb:41: [BUG] Segmentation fault ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-darwin10.0.0]

I wonder if you seeing a similar issue as with MySQL. Maybe you need to force the C extensions for your gems to compile for your specific platform using ARCHFLAGS:

Example: sudo env ARCHFLAGS="-arch x86_64" gem install <gem_name> <options>

Make sure the -arch setting is correct for your platform. One of [ i386 (32-bit), x86_64(64-bit), ppc, ppc64 ].

This is only a guess as to the cause of your problem, but maybe something you might want to look into.

I'm having the same problem as Tom. I can connect to the SQL Server and run a "select *" from iSQL, so I believe that ruby-odbc bindings are using iODBC instead of unixODBC

% tsql -C Compile-time settings (established with the "configure" script)                             Version: freetds v0.82              freetds.conf directory: /usr/local/Cellar/freetds/0.82/ etc      MS db-lib source compatibility: yes         Sybase binary compatibility: no                       Thread safety: yes                       iconv library: yes                         TDS version: 8.0                               iODBC: no                            unixodbc: yes

% ruby extconf.rb --with-odbc-dir=/usr/local/lib

   checking for version.h... yes    checking for sql.h... yes    checking for sqlext.h... yes    checking for SQLTCHAR in sqltypes.h... yes    checking for SQLLEN in sqltypes.h... yes    checking for SQLULEN in sqltypes.h... yes    checking for odbcinst.h... yes    checking for SQLAllocConnect() in -lodbc... no    checking for SQLAllocConnect() in -liodbc... yes    checking for SQLConfigDataSource() in -lodbcinst... no    checking for SQLConfigDataSource() in -liodbcinst... yes    checking for SQLInstallerError() in odbcinst.h... yes    creating Makefile

Is there a way to use unixODBC without a DSN?

I was having this same problem.

I switched from iODBC to UNIXODBC and this problem went away for me!

Thanks for your help!

Can you post how you set up unixodbc to resolve the issue?

I would defer to the SQL Server adapter wiki for latest information. http://wiki.github.com/rails-sqlserver/2000-2005-adapter/platform-installation