28 votes

Problème de connexion Ruby on rails

J'ai un Rubis sur des Rails de projet qui, je développais hébergé sur un serveur, mais ont décidé de travailler sur ma machine windows locale avec.

Pour obtenir commencé, je pensais que je m'assurerais que je pourrais juste prendre mes modèles à partir de l'ancien projet et les mettre dans un nouveau projet, puis de les interroger dans la console. Cela échoue.

Modifier pour refléter plus précise du problème: La connexion des rails s'appuie à la requête de mes modèles ne pouvez exécuter qu'une requête donne alors le "Non connecté" exception pour toutes les requêtes suivantes. Quelqu'un sait ce qui se passe? J'ai vérifié ma configuration, beaucoup. Si il y a certains paramètres sur le serveur mysql que je ne connais pas je serais prêt à regarder ça.

Trace De La Pile:

Price.find(1)
ActiveRecord::StatementInvalid: Mysql::Error: query: not connected: SHOW FIELDS FROM `prices`
        from c:/Program Files/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/connection_adapters/abstract_adapter.rb:212:in `log'
        from c:/Program Files/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/connection_adapters/mysql_adapter.rb:320:in `execute'
        from c:/Program Files/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/connection_adapters/mysql_adapter.rb:466:in `columns'
        from c:/Program Files/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/base.rb:1271:in `columns'
        from c:/Program Files/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/base.rb:1279:in `columns_hash'
        from c:/Program Files/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/base.rb:1578:in `find_one'
        from c:/Program Files/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/base.rb:1569:in `find_from_ids'
        from c:/Program Files/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.3/lib/active_record/base.rb:616:in `find'
        from (irb):2

J'ai vérifié que ma base de données MySQL accepte les connexions et les données et la structure je pense. J'ai vérifié mes branchements, etc. Quelqu'un peut jeter un peu de lumière?

82voto

bjelli Points 3569

J'ai trouvé une solution à ce problème dans un aptana forum.

Là, il dit que le MySQL 5.1 client de bibliothèque n'a pas bien jouer avec des Rails 2.2 La solution qu'ils proposent est simple: télécharger une ancienne bibliothèque client MySQL (libmySQL.dll) et le copier sur votre Ruby\bin.

Cela a fonctionné pour moi (Windows XP, Ruby 1.8.6, Rails 2.3.3, mysql 5.1.33)

3voto

marcgg Points 25599

Vérifiez que vous disposez de la dernière gemme mysql (pour les rails> 2.1.2)

Vérifiez votre fichier config / database.yml (adaptateur, mots de passe). Vérifiez qu'il est correctement configuré pour tous les environnements (dev, test prod)

Vérifiez que votre mysql fonctionne

1voto

田咖啡 Points 89

télécharger une ancienne bibliothèque cliente MySQL

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X