Home > Windows > Ruby/MySQLでuninitialized constant Mysql::Protocol::UNIXSocket (NameError)

Ruby/MySQLでuninitialized constant Mysql::Protocol::UNIXSocket (NameError)

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');

コメント:0

コメントフォーム
Remember personal info

トラックバック:0

このエントリーのトラックバックURL
http://www.srcw.net/2010/05/27/rubymysql%e3%81%a7uninitialized-constant-mysqlprotocolunixsocket-nameerror/trackback/
Listed below are links to weblogs that reference
Ruby/MySQLでuninitialized constant Mysql::Protocol::UNIXSocket (NameError) from srcw.net

Home > Windows > Ruby/MySQLでuninitialized constant Mysql::Protocol::UNIXSocket (NameError)

アーカイブ
カレンダー
« 2010 年 5月 »
          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 30
31            

Return to page top