Я пытаюсь подключиться к базе данных sql server 2005 с * компьютера NIX:
У меня есть следующая конфигурация: Linux 64bit
ruby -v
ruby 1.8.6 (2007-09-24, уровень исправления 111) [x86_64-linux]
важные драгоценные камни:
дбд-одбц (0.2.4)
дБи (0.4.1)
активный серверный sql адаптер записи - как плагин
ruby-odbc 0.9996 (устанавливается без каких-либо опций.)
UnixODBC установлен
FreeTDS установлен
кошка /etc/odbcinst.ini
[FreeTDS]
Description = TDS driver (Sybase/MS SQL)
Driver = /usr/lib/libtdsodbc.so
Setup = /usr/lib/odbc/libtdsS.so
CPTimeout =
CPReuse =
FileUsage = 1
DSN:
DRIVER=FreeTDS;TDS_Version=8.0;SERVER=XXXX;DATABASE=XXX;Port=1433;uid=XXX;pwd=XXXX;"
или
DRIVER=/usr/lib/libtdsodbc.so;TDS_Version=8.0;SERVER=XXXX;DATABASE=XXX;Port=1433;uid=XXX;pwd=XXXX;"
Я получаю следующую ошибку:
>>ActiveRecord::Base.sqlserver_connection({"mode"=>"ODBC", "adapter"=>"sqlserver", "dsn"=>my_dns)
DBI::DatabaseError: IM002 (0) [unixODBC][Driver Manager]Data source name not found, and no default driver specified
from /usr/lib/ruby/1.8/DBD/ODBC/ODBC.rb:95:in `connect'
from /usr/lib/ruby/1.8/dbi.rb:424:in `connect'
from /usr/lib/ruby/1.8/dbi.rb:215:in `connect'
from /opt/ublip/rails/current/vendor/plugins/activerecord-sqlserver-adapter/lib/active_record/connection_adapters/sqlserver_adapter.rb:47:in `sqlserver_connection'
Похоже, ODBC не может найти подходящий драйвер ODBC, но я понятия не имею, почему.
У меня была проблема с /usr/lib/libtdsodbc.so, которая пуста в стандартном пакете debian free-tds dev, но я решил ее с помощью удаления поврежденного пакета и установки из исходников.
Буду благодарен за любую мысль!
Примечание:
Я должен подключиться, используя те же шаги на Mac 10.5