在MS SQL Server 2005中使用Rails 2.x

时间:2020-03-05 18:54:35  来源:igfitidea点击:

这里有人在Rails 2.x上使用MS SQL Server 2005有积极的经验吗?

我们的开发人员使用Mac OS X,我们的产品在Linux上运行。由于遗留原因,我们应该使用MS SQL Server 2005.

我们正在使用ruby-odbc并遇到各种问题,太令人沮丧了,无法在此处列出。我觉得我们做错了什么。

我说的是不妥协的用法,即与迁移有关的所有用法。

谢谢,

解决方案

回答

我强烈建议我们权衡从旧数据库的迁移。我们可能很快就会陷入痛苦的世界。从经验来看,Rails和旧式架构也不能很好地结合在一起。

恐怕我认为这没有"不错的解决方案"。

回答

我们是否考虑在Windows上运行rails,而不是在Linux上运行生产服务器?我目前正在使用SQL Server开发应用程序,直到知道它看起来运行良好为止。

这些是从Windows上运行的Rails 2.0应用程序访问SQL Server数据库的步骤。

默认情况下,Rails 2中不包含SQL Server适配器。必须使用以下命令下载并安装它。

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不存在,因此我们必须提前创建它。

不能使用--database选项为SQL Server预先配置rails,只能照常创建应用程序,然后按如下所示在应用程序文件夹中修改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检查安装。如果一切正常,我们应该不会收到任何错误消息。

回答

我们是否考虑过使用JRuby? Microsoft具有用于SQL Server的JDBC驱动程序,该驱动程序可以在UNIX变体(纯Java AFAIK)上运行。今天,我能够使用JRuby和Rails 2.1进行2.0技术预览。我还没有尝试过迁移,但是到目前为止,驱动程序似乎运行良好。

这是如何使其工作的示意图:

  • 确保已安装Java 6
  • 按照JRuby网站上的说明安装JRuby
  • 使用gem安装Rails(jruby -S gem install rails)
  • 下载Microsoft的SQL Server JDBC驱动程序(版本2.0)的UNIX软件包。
  • 解压缩Microsoft的SQL Server驱动程序
  • 查找sql​​jdbc4.jar并将其复制到JRuby的lib目录
  • jruby -S gem install activerecord-jdbcmssql-adapter
  • 创建一个Rails项目(jruby -S rails hello)
  • 将正确的设置放在database.yml中(下面的示例)
  • 你们都准备好了!尝试运行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身份验证。

祝我们好运!

回答

Our developers use Mac OS X, and our production runs on Linux. For legacy reasons we should use MS SQL Server 2005.

我们正在Ubuntu 8.04上进行开发,但是我们的生产服务器正在运行Linux(Centos),并且还使用了SqlServer 2005.

根据我们的经验,最初的设置和配置非常痛苦,花了几周时间才能使所有内容完美地结合在一起。但是,现在一切似乎还不算好,我发现SqlServer可以很好地工作。

我们使用FreeTDS ODBC驱动程序,一旦配置就可以了。

不要在有麻烦的Windows上运行Production Rails应用程序。对于开发来说很好,但仅此而已。 Rails在Windows平台上无法很好地扩展。

希望能有所帮助。