Rails - проблемы с MS-SQL Server (unixODBC, FreeTDS) на Mac 10.6 - PullRequest
2 голосов
/ 25 мая 2010

Следовал инструкциям на Rails wiki и успешно подключился к SQL Server 2000 с помощью TSQL - как с DSN-less, так и с DNS-соединениями. Я использую Mac OS X 10.6.3.

Вики-инструкции здесь.

Установлен ruby-odbc, dbi (0.4.0), dbd-odbc (2.4.5), activerecord-sqlserver-adapter (2.3.5).

В моем database.yml (Rails 2.3.6):

development:
  adapter: sqlserver
  mode: ODBC
  dsn: 'DRIVER=/usr/local/lib/libtdsodbc.so;TDS_Version=8.0;SERVER=mssql01.discountasp.net;DATABASE=DB_164368_dmusd;Port=1433;uid=DB_164368_dmusd_user;pwd=Schools77;'

Это приводит к следующей ошибке: ODBC :: Ошибка: S1090 (0) [unixODBC] [Driver Manager] Неверная длина строки или буфера

Когда я пытаюсь использовать соединение DSN, я получаю следующую ошибку: ODBC :: Ошибка: IM002 (0) [unixODBC] [Driver Manager] Имя источника данных не найдено, и драйвер по умолчанию не указан

На самом деле я проверил, что драйвер FreeTDS (libtdsodbc.so) установлен и правильный путь.

Может кто-нибудь заметить ошибку моих путей? Заранее спасибо.

Ответы [ 3 ]

1 голос
/ 18 октября 2010

Следуйте этому руководству, чтобы подключить приложение rails к MS SQL Server

Подключение к MicrosoftSQLServer из Rails On Linux Box: http://wiki.rubyonrails.org/database-support/ms-sql

1 голос
/ 25 мая 2010

Я бы разделил конфигурацию между:

freetds.conf

[somesqlserver]
 host = HOST_ADDRESS
 port = 1433
 tds version = 8.0 # for SQL2000    

и

odbc.ini

[server_connection]
Driver = /usr/local/lib/libtdsodbc.so
Server = ip_address_of_server
Database = database_name
client charset = UTF-8  #needed only on osx

в database.yml

development:
adapter: sqlserver
mode: odbc
dsn: server_connection
username: your_username
password: your_password

Очень хорошая статья для справки по osx, но легко адаптируемая к unix

0 голосов
/ 07 июня 2010

Я настоятельно советую вам забыть UnixODBC в Mac OS X. Вместо этого обновите компоненты iODBC до до последней версии .

iODBC - менеджер драйверов ODBC с открытым исходным кодом, который Apple решила поставлять с Mac OS X - поставляется из того же источника, что и Адаптер ODBC для Ruby on Rails - Программное обеспечение OpenLink .

Возможно, стоит потратить время на тестирование, если не развертывание, коммерческого драйвера ODBC, такого как от OpenLink . Это может помочь сузить источник ошибок, с которыми вы сталкиваетесь при попытке использовать «бесплатный» драйвер. (Всегда есть стоимость - единственный вопрос, тратите ли вы деньги или время.)

ObDisclaimer: я работаю на программное обеспечение OpenLink, но напрямую не извлекаю выгоду из того, что кто-то решит использовать наши продукты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...