8

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

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

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

我说的是不妥协的用法,即迁移等。

谢谢,

4

4 回答 4

8

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

这是如何使其工作的粗略草图:

  1. 确保已安装 Java 6
  2. 使用JRuby 网站上的说明安装 JRuby
  3. jruby -S gem install rails使用 gem ( )安装 Rails
  4. 下载微软SQL Server JDBC驱动的UNIX包(2.0版)
  5. 解压 Microsoft 的 SQL Server 驱动程序
  6. 找到sqljdbc4.jar,复制到JRuby的lib目录下
  7. jruby -S gem install activerecord-jdbcmssql-adapter
  8. 创建一个 Rails 项目 ( jruby -S rails hello)
  9. 在 database.yml 中放置正确的设置(示例如下)
  10. 你都准备好了!尝试运行jruby script/console并创建模型。
    发展:
      主机:本地主机
      适配器:jdbc
      用户名:sa
      密码:kitte
      驱动程序:com.microsoft.sqlserver.jdbc.SQLServerDriver
      网址:jdbc:sqlserver://localhost;databaseName=mydb
      超时:5000

注意:我不确定您是否可以将 Windows 身份验证与 JDBC 驱动程序一起使用。您可能需要使用 SQL Server 身份验证。

祝你好运!

于 2008-10-09T03:24:44.510 回答
3

您是否考虑过在 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 以检查您的安装。如果一切正常,您应该不会收到任何错误消息。

于 2008-09-19T05:01:07.090 回答
1

我强烈建议您权衡从遗留数据库迁移。你可能很快就会发现自己陷入了一个痛苦的世界。根据经验,Rails 和遗留模式也不能很好地结合在一起。

恐怕我认为这个问题没有“好的解决方案”。

于 2008-09-15T23:36:01.357 回答
1

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

我们在 Ubuntu 8.04 上进行开发,但我们的生产服务器正在运行 Linux (Centos),我们也在使用 SqlServer 2005。

根据我们的经验,最初的设置和配置是相当痛苦的——花了几周的时间才让所有东西都能很好地融合在一起。但是,现在一切都变得平淡无奇,我发现 SqlServer 运行良好。

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

不要在 Windows 上运行 Rails 应用程序——你是在自找麻烦。这对开发来说很好,但仅此而已。Rails 在 Windows 平台上不能很好地扩展。

希望有帮助。

于 2009-04-17T08:44:50.997 回答