Использование Rails 2.x с MS SQL Server 2005 - PullRequest
8 голосов
/ 16 сентября 2008

Кто-нибудь здесь имеет положительный опыт работы с MS SQL Server 2005 из Rails 2.x?

Наши разработчики используют Mac OS X, и наша продукция работает на Linux. По прежним причинам мы должны использовать MS SQL Server 2005.

Мы используем ruby-odbc и сталкиваемся с различными проблемами, слишком удручающими, чтобы перечислять здесь. У меня складывается впечатление, что мы делаем что-то не так.

Я говорю об использовании без компромиссов, то есть с миграциями и все такое.

Спасибо,

Ответы [ 4 ]

8 голосов
/ 09 октября 2008

Рассматривали ли вы использование JRuby? Microsoft имеет драйвер JDBC для SQL Server , который можно запускать в вариантах UNIX (это чистый Java AFAIK). Мне удалось получить предварительный просмотр технологии 2.0, работающий сегодня с JRuby и Rails 2.1. Я еще не пробовал миграцию, но пока драйвер работает довольно хорошо.

Вот примерный набросок того, как заставить его работать:

  1. Убедитесь, что Java 6 установлена ​​
  2. Установите JRuby, следуя инструкциям на сайте JRuby
  3. Установка Rails с использованием gem (jruby -S gem install rails)
  4. Загрузить пакет UNIX Драйвер Microsoft SQL Server для JDBC (Версия 2.0)
  5. Распакуйте драйвер Microsoft SQL Server от Microsoft
  6. Найдите sqljdbc4.jar и скопируйте его в каталог lib JRuby
  7. jruby -S gem install activerecord-jdbcmssql-adapter
  8. Создать проект рельсов (jruby -S rails hello)
  9. Поместите правильные настройки в database.yml (пример ниже)
  10. Все готово! Попробуйте запустить jruby script/console и создать модель.
    development:
      host: localhost
      adapter: jdbc
      username: sa
      password: kitteh
      driver: com.microsoft.sqlserver.jdbc.SQLServerDriver
      url: jdbc:sqlserver://localhost;databaseName=mydb
      timeout: 5000

Примечание. Я не уверен, что вы можете использовать аутентификацию Windows с драйвером JDBC. Вам может понадобиться использовать аутентификацию SQL Server.

Удачи вам!

Ben

3 голосов
/ 19 сентября 2008

Вместо того, чтобы запустить свой рабочий сервер в Linux, вы решили запустить rails в Windows? В настоящее время я занимаюсь разработкой приложения с использованием SQL Server, и пока не узнаю, что оно работает нормально.

Это шаги для доступа к базе данных SQL Server из приложения Rails 2.0, работающего в Windows.

Адаптер SQL Server по умолчанию не включен в Rails 2. Его необходимо загрузить и установить с помощью следующей команды.

gem install activerecord-sqlserver-adapter
--source=http://gems.rubyonrails.org

Загрузите последнюю версию ruby-dbi с

http://rubyforge.org/projects/ruby-dbi/

и затем извлеките файл из ruby-dbi \ lib \ dbd \ ADO.rb

в C: \ ruby ​​\ lib \ ruby ​​\ site_ruby \ 1.8 \ DBD \ ADO \ ADO.rb.

Внимание! Папка ADO не существует, поэтому ее необходимо создать заранее.

Невозможно предварительно сконфигурировать rails для SQL Server с помощью параметра --database, просто создайте свое приложение как обычно, а затем измените config \ database.yml в папке приложения следующим образом:

development:
adapter: sqlserver
database: your_database_name
host: your_sqlserver_host
username: your_sqlserver_user
password: your_sqlserver_password

Запустите rake db: migrate, чтобы проверить вашу установку. Если все в порядке, вы не должны получить сообщение об ошибке.

1 голос
/ 17 апреля 2009

Наши разработчики используют Mac OS X, и наша продукция работает на Linux. По устаревшим причинам мы должны использовать MS SQL Server 2005.

Мы работаем на Ubuntu 8.04, но наши производственные серверы работают под управлением Linux (Centos), и мы также используем SqlServer 2005.

Исходя из нашего опыта, первоначальная настройка и конфигурация были довольно болезненными - потребовалось несколько недель, чтобы собрать все, чтобы хорошо играть вместе. Тем не менее, теперь все это кажется безнадежным, и я считаю, что SqlServer отлично работает.

Мы используем ODBC-драйверы FreeTDS, которые настроены нормально.

НЕ ИСПОЛЬЗУЙТЕ производственные приложения Rails в Windows - вы напрашиваетесь на неприятности. Это хорошо для развития, но не более того. Rails плохо масштабируется на платформах Windows.

Надеюсь, это поможет.

1 голос
/ 16 сентября 2008

Я настоятельно рекомендую вам взвесить переход с устаревшей базы данных. Вы, вероятно, довольно быстро окажетесь в мире боли. Судя по опыту, Rails и устаревшие схемы тоже не слишком хорошо сочетаются.

Я не думаю, что есть "хорошее решение", боюсь.

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