将Rails 2.x与MS SQL Server 2005一起使用
这里有人有从Rails 2.x使用MS SQL Server 2005的积极经验吗?
我们的开发人员使用Mac OS X,我们的生产在Linux上运行。 出于遗留原因,我们应该使用MS SQL Server 2005。
我们正在使用ruby-odbc并遇到各种各样的问题,在这里列出太令人沮丧了。 我得到的印象是我们做错了什么。
我说的是不妥协的用法,即迁移和所有。
谢谢,
你考虑过使用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驱动程序的UNIX包(版本2.0)
- 解压缩Microsoft的SQL Server驱动程序
- 找到sqljdbc4.jar并将其复制到JRuby的lib目录
-
jruby -S gem install activerecord-jdbcmssql-adapter
- 创建一个rails项目(
jruby -S rails hello
) - 将正确的设置放在database.yml中(以下示例)
- 你们都准备好了! 尝试运行
jruby script/console
并创建模型。
发展: host:localhost 适配器:jdbc 用户名:sa 密码:kitteh driver:com.microsoft.sqlserver.jdbc.SQLServerDriver url:jdbc:sqlserver:// localhost; databaseName = mydb 超时:5000
注意:我不确定您是否可以将Windows身份validation与JDBC驱动程序一起使用。 您可能需要使用SQL Server身份validation。
祝你好运!
本
您是否考虑过在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以检查安装。 如果一切正常,您不应收到任何错误消息。
我强烈建议你权衡从旧数据库迁移。 你可能会很快发现自己陷入痛苦的世界。 根据经验,Rails和遗留模式也不能很好地结合在一起。
我不认为这个问题有一个“好的解决方案”,我担心。
我们的开发人员使用Mac OS X,我们的生产在Linux上运行。 出于遗留原因,我们应该使用MS SQL Server 2005。
我们正在开发Ubuntu 8.04,但我们的生产服务器运行Linux(Centos),我们也使用SqlServer 2005。
从我们的经验来看,最初的设置和配置非常痛苦 – 花了几个星期的时间才能让所有东西都很好地融合在一起。 但是,它现在都是无用的,我发现SqlServer运行得非常好。
我们使用曾经配置好的FreeTDS ODBC驱动程序。
不要在Windows上运行产品Rails应用程序 – 你要求麻烦。 这对开发很好,但仅此而已。 Rails在Windows平台上无法很好地扩展。
希望有所帮助。