我今天早上进来,像往常一样启动了我的应用程序,然后开始出现这个错误。从那时起,我一直在走我能想到的每一条路——直到在我的机器上删除和重新安装每一个 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 权限)有关,但重新安装似乎证明并非如此。