ホーム > タグ > ruby/mysql
ruby/mysql
Ruby/MySQLでuninitialized constant Mysql::Protocol::UNIXSocket (NameError)
- 2010-05-27 (木)
- Windows
ActiveScriptRubyでRuby/MySQL(pure rubyのほう)を使ってMySQLデータベースに接続しようとしたのですが、エラーが発生して接続できませんでした。
C:/Program Files/ruby-1.8/lib/ruby/gems/1.8/gems/ruby-mysql-2.9.2/lib/mysql/protocol.rb:212:in `initialize': uninitialized constant Mysql::Protocol::UNIXSocket (NameError) from C:/Program Files/ruby-1.8/lib/ruby/1.8/timeout.rb:53:in `timeout' from C:/Program Files/ruby-1.8/lib/ruby/gems/1.8/gems/ruby-mysql-2.9.2/lib/mysql/protocol.rb:209:in `initialize' from C:/Program Files/ruby-1.8/lib/ruby/gems/1.8/gems/ruby-mysql-2.9.2/lib/mysql.rb:110:in `new' from C:/Program Files/ruby-1.8/lib/ruby/gems/1.8/gems/ruby-mysql-2.9.2/lib/mysql.rb:110:in `connect' from C:/Program Files/ruby-1.8/lib/ruby/gems/1.8/gems/ruby-mysql-2.9.2/lib/mysql.rb:42:in `new' from dbselect.rb:4
RubyGemsを使って入れたのでバージョン不整合?などと疑い、いろいろ調べてみたのですが、接続時のホスト名を”localhost”→”127.0.0.1″に修正したら大丈夫になりました。海外のフォーラム情報によるとWindowsでもUNIXSocketを使おうとするRuby/MYSQLのバグらしいです(Error: uninitialized constant Mysql::Protocol::UNIXSocket | keyongtech
■だめ
db = Mysql.new('localhost', 'dbuser', 'dbpassword', 'dbname');
■OK
db = Mysql.new('127.0.0.1', 'dbuser', 'dbpassword', 'dbname');
Home > タグ > ruby/mysql
-
« 2012 年 2月 » 月 火 水 木 金 土 日 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29