ruby / mysql mysql_adapter.rb:505:在'real_connect'中:无法将String转换为Integer

StackOverflow https://stackoverflow.com/questions/279603

  •  07-07-2019
  •  | 
  •  

我今天早上来了,以与往常一样的方式启动我的应用程序,并开始收到此错误。从那以后,我一直走在我能想到的每一条路上 - 在我的机器上删除并重新安装每一块ruby / rails软件,包括mysql。我已将我的应用程序删除到以下内容。

require 'rubygems'
require 'active_record'

class Job < ActiveRecord::Base

end

ActiveRecord::Base.establish_connection(
    :adapter     => "mysql",
    :host        => "192.168.254.22",  (I've also tried 127.0.0.1)
    :port        => "3306",
    :database    => "databasethingie",
    :username    => "root",
    :password    => "rootpassword"
)

job = Job.find(:first) 这是在运行Instant rails 2.0的Windows机器上。

我仍然得到错误:

c:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/mysql_adapter.rb:505:in `real_connect': can't convert String into Integer (TypeError)
        from c:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/mysql_adapter.rb:505:in `connect'
        from c:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/mysql_adapter.rb:183:in `initialize'
        from c:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/mysql_adapter.rb:88:in `new'
        from c:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/mysql_adapter.rb:88:in `mysql_connection'
        from c:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/abstract/connection_specification.rb:292:in `send'
        from c:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/abstract/connection_specification.rb:292:in `connection='
        from c:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/abstract/connection_specification.rb:260:in `retrieve_connection'
        from c:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/connection_adapters/abstract/connection_specification.rb:78:in `connection'
        from c:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/base.rb:2693:in `quoted_table_name'
        from c:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/base.rb:1469:in `construct_finder_sql'
        from c:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/base.rb:1341:in `find_every'
        from c:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/base.rb:1303:in `find_initial'
        from c:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/base.rb:534:in `find'
        from tmp.rb:17

我看到有关这个的帖子提到了1.5.2天内修复过的错误,但我是最新的。 2.1.2等等。这里发生了什么?我想知道这是否与最近对数据库配置的更改有关(授予root的完全权限),但重新安装似乎证明不是这样。

有帮助吗?

解决方案

你有没有尝试过:

:port => 3306
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top