繁体   English   中英

使用带有 MS SQL 服务器 2005 的 Rails 2.x

[英]Using Rails 2.x with MS SQL Server 2005

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

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

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

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

谢谢,

你考虑过使用 JRuby 吗? Microsoft has a JDBC driver for SQL Server that can be run on UNIX variants (it's pure Java AFAIK). 我今天能够获得使用 JRuby 和 Rails 2.1 的 2.0 技术预览。 我还没有尝试过迁移,但到目前为止,驱动程序似乎运行良好。

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

  1. 确保安装了 Java 6
  2. 使用JRuby 网站上的说明安装 JRuby
  3. 使用 gem 安装 Rails ( jruby -S gem install rails )
  4. 下载微软SQL服务器Z82269B9B71612A7732F6B7D8Z的UNIX package驱动程序
  5. 解压微软的 SQL 服务器驱动
  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并创建 model。
    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 服务器身份验证。

祝你好运!

您是否考虑过在 Windows 上运行轨道,而不是在 Linux 上运行生产服务器? 我目前正在使用 SQL 服务器开发一个应用程序,直到知道它似乎运行良好。

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

Rails 2 中默认不包含 SQL 服务器适配器。需要使用以下命令下载并安装它。

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 服务器预配置 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 以检查您的安装。 如果一切正常,您应该不会收到任何错误消息。

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

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

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

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

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

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

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

希望有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM