Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 在MS SQL Server 2005中使用Rails 2.x_Sql Server_Ruby On Rails_Odbc - Fatal编程技术网

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

Sql server 在MS SQL Server 2005中使用Rails 2.x,sql-server,ruby-on-rails,odbc,Sql Server,Ruby On Rails,Odbc,这里有没有人对使用Rails 2.x中的MS SQL Server 2005有过积极的经验 我们的开发人员使用Mac OS X,我们的产品在Linux上运行。出于传统原因,我们应该使用MS SQL Server 2005 我们正在使用ruby odbc,遇到了各种各样的问题,令人沮丧,无法在这里列出。我觉得我们做错了什么 我说的是不折不扣的用法,也就是说,使用迁移和其他一切 谢谢,我强烈建议您考虑一下从遗留数据库迁移。你可能很快就会发现自己陷入痛苦的世界。根据经验,Rails和遗留模式也不能很好

这里有没有人对使用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数据库的步骤

默认情况下,SQL Server适配器不包括在Rails 2中。需要使用以下命令下载并安装它

gem install activerecord-sqlserver-adapter
--source=http://gems.rubyonrails.org
从下载ruby dbi的最新版本

然后从ruby dbi\lib\dbd\ADO.rb中提取该文件

到C:\ruby\lib\ruby\site\u 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吗?微软有一个可以在UNIX变体上运行的应用程序(它是纯Java AFAIK)。今天,我能够使用JRuby和Rails2.1获得2.0技术预览。我还没有尝试过迁移,但到目前为止,驱动程序似乎运行得很好

下面是如何使其工作的大致示意图:

  • 确保安装了Java6
  • 按照上的说明安装JRuby
  • 使用gem安装Rails(
    jruby-S gem安装Rails
  • 下载的UNIX软件包(版本2.0)
  • 解压缩Microsoft的SQL Server驱动程序
  • 找到sqljdbc4.jar并将其复制到JRuby的lib目录
  • jruby-sgem安装activerecord jdbcmssql适配器
  • 创建rails项目(
    jruby-S rails hello
  • 将正确的设置放入database.yml(下面的示例)
  • 你都准备好了!尝试运行jruby脚本/控制台并创建模型
  • 发展: 主机:本地主机 适配器:jdbc 用户名:sa 密码:kitteh 驱动程序:com.microsoft.sqlserver.jdbc.SQLServerDriver url:jdbc:sqlserver://localhost;databaseName=mydb 超时:5000 注意:我不确定您是否可以在JDBC驱动程序中使用Windows身份验证。您可能需要使用SQL Server身份验证

    祝你好运

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

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

    从我们的经验来看,最初的设置和配置是相当痛苦的——它花了几周的时间使所有的东西都能很好地配合起来。然而,现在一切都看不见了,我发现SqlServer工作得非常好

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

    不要在Windows上运行productions Rails应用程序-这是自找麻烦。这对发展很好,但仅此而已。Rails在Windows平台上无法很好地扩展


    希望这能有所帮助。

    你正在让自己陷入痛苦的世界。如果您没有提到其他问题,可以迁移数据,或者将某种MySQL前端安装到MS SQL后端。Rails需要的模式应该足够激励。它不是activerecord jdbcmssql适配器吗?在我写这篇文章的时候,它对我很有效,但并不完美。如果我使用你建议的设置,也许效果会更好。我可能会抽出时间来试一下。与此同时,社区维基已经打开,请随意编辑。非常感谢,这对我来说是一种魅力。尽管您需要安装gem“activerecord jdbcmssql适配器”。 development: host: localhost adapter: jdbc username: sa password: kitteh driver: com.microsoft.sqlserver.jdbc.SQLServerDriver url: jdbc:sqlserver://localhost;databaseName=mydb timeout: 5000