Подключение к SQL Server 2005 из приложения ROR в Ubuntu - PullRequest
4 голосов
/ 09 декабря 2010

Я пытался подключиться к SQL Server из приложения ROR в Ubuntu.Для этого я сделал следующие вещи:

Я установил следующие библиотеки в свой Ubuntu 10.04

  • unixodbc
  • unixodbc-dev
  • freetds-dev
  • libdbd-odbc-ruby
  • tdsodbc

После установки я создал dsn и внес необходимые изменения в файлы odbc.ini и freetds.conf.

Затем я протестировал соединение, используя "tsql", как показано ниже

tsql -S <dsn name> -U <username> -P <pwd>

Для этой команды я получаю следующую ошибку

Adaptive Server is unavailable

Я также проверил журнал freetds;он говорит "тайм-аут соединения".

Я уверен, что у нас все в порядке с конфигурациями (удаленными) на стороне нашего SQL Server.

Когда я запускаю tsql -C, это говорит о версии TDSЭто 5. Я не уверен, как это говорит TDS 5, потому что я установил последнюю версию FreeTDS.И я не знаю, как обновить мою версию TDS.

К вашему сведению, я слышал, что версию TDS 5 нельзя использовать для установления соединений с SQL Server.Это правильно?

Пожалуйста, ведите меня

Спасибо, Neo

Ответы [ 2 ]

1 голос
/ 09 декабря 2010

freetds.conf позволяет указать, какую версию протокола TDS вы хотите использовать.Просто добавьте tds version = 8.0 в раздел [global] или раздел, который вы добавили для своего сервера.Если он не указан, по умолчанию используется версия 5.0, что, по-видимому, соответствует вашему случаю.Для получения дополнительной информации, посмотрите на http://www.freetds.org/userguide/freetdsconf.htm

0 голосов
/ 06 апреля 2011

Я понимаю, что это не ответ на ваш конкретный вопрос, но это совет от того, когда я в последний раз пытался перейти с Linux на SQL Server. Это было в 2009 году, поэтому, возможно, что-то изменилось с тех пор.

Так или иначе, у нас было так много проблем с этим, мы отказались и решили использовать JRuby.

Это привело к очень небольшим усилиям по настройке и запуску соединения с использованием activerecord-jdbc-adapter , и у нас не возникло проблем с совместимостью. (Я беру это обратно, была одна проблема, которую мне пришлось исправить, когда мы выбирали ограниченные строки в mssql из таблицы без первичного ключа, столбца идентификаторов или столбца с именем "id" )

Я мог заставить его работать в прошлом, делая это так, как вы пытаетесь, но это всегда было гораздо больше усилий, чем мне приходилось проходить с JRuby.

...