ruby / mysql mysql_adapter.rb: 505: in 'real_connect': impossible de convertir une chaîne en entier
-
07-07-2019 - |
Question
Je suis arrivé ce matin, j'ai lancé mon application de la même manière que d'habitude et j'ai commencé à avoir cette erreur. Depuis lors, j'ai parcouru tous les chemins que je peux concevoir - au point de supprimer et de réinstaller tous les logiciels Ruby / rails de ma machine, y compris mysql. J'ai réduit ma candidature à la suivante.
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) C’est sur une fenêtre fonctionnant sous Instant Rail 2.0.
Je reçois toujours les erreurs:
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
J'ai vu des articles à ce sujet qui font référence à un bogue corrigé depuis 1.5.2 jours, mais je suis à jour. 2.1.2, etc. Que se passe-t-il ici? Je me suis demandé si cela était lié aux modifications récentes de la configuration de la base de données (octroi de tous les droits à la racine), mais la réinstallation semblerait prouver le contraire.
La solution
Avez-vous essayé:
:port => 3306