Я пытаюсь подключить свое приложение Ruby on Rails к устаревшей базе данных, которая находится в Microsoft SQL Server 2008. Я просмотрел различные учебные пособия, страницы, страницы справки и страницы с вопросами, но так и не смог заставить это работать.
Я использую:
- Ubuntu Karmic
- Рельсы 2.3.5
- Рубин 1.8.7
- activerecord-odbc-adapter 2.0
- activerecord-sqlserver-adapter 2.3
- дБд-одбц 0,2,5
- дБи 0,4,3
Я также установил:
- freeTDS 0.82-6
- tdsodbc 0,82-6
- sqsh 2.1-8build1
- libodbc-ruby1.8 0.9997-2 (также пробовал с 0.9995 и 0.9998)
- unixodbc 2.2.11-16ubuntu1
Мне удалось подключиться к базе данных с помощью tsql, sqsh и isql. Но не могу подключить его ни через IRB, ни через рельсы. Всякий раз, когда я пытаюсь, я получаю следующую ошибку:
DBI::DatabaseError: **INTERN (0) [RubyODBC]Cannot allocate SQLHENV**
from /var/lib/gems/1.8/gems/dbd-odbc-0.2.5/lib/dbd/odbc/driver.rb:36:in `connect'
from /usr/lib/ruby/1.8/dbi/handles/driver.rb:33:in `connect'
from /usr/lib/ruby/1.8/dbi.rb:142:in `connect'
from (irb):4
Не имеет значения, использую ли я odbc-адаптер или sql-адаптер, потому что он всегда дает сбой в драйвере dbi. Есть идеи, что может быть не так?
У меня правильно определены файлы odbc.ini, odbcinst.ini и freetds.conf. И они работают со всеми другими командами для подключения (isql, tsql, sqsh).
Пожалуйста, помогите мне или укажите мне где-нибудь, что может помочь мне! =)
PS: Я уже просмотрел следующие страницы без особого успеха (среди прочих):
- wiki.rubyonrails.org / база-поддержка / MS-SQL? С [] = & SQL с [] = Сервер * * тысяча сорок семь
- piao-tech.blogspot.com / 2008/02 / с использованием-ActiveRecord-с-майкрософт-sql.html
- lambie.org / 2008/02/28 / подключение к ан-MSSQL-базы данных из-рубин-на-убунту /
- stackoverflow.com / вопросы / 1419397 / rubyodbc-не-ассигновать-sqlhenv