2010-05-17 40 views
0

我在我的Mac上設置紅寶石和MySQL,我有問題連接到我的本地MySQL服務器。Ruby Mysql連接

require 'rubygems' 
require 'mysql' 
...  
db = Mysql.new("localhost", "root", "", "") 
... 

這給我下面的錯誤,當我運行此腳本fromt他的命令行:

generate.rb:37:in `initialize': wrong number of arguments (4 for 0) (ArgumentError) 
from generate.rb:37:in `new' 
from generate.rb:37 

我不知道爲什麼我收到這個錯誤...任何想法?

回答

3

如何

db = Mysql.connect("localhost", "root", "", "") 

+0

給出: generate.rb:37:未定義的方法'連接」爲MySQL:類(NoMethodError) – gprime 2010-05-17 18:05:23

+0

嗯,我不知道什麼的MySQL你正在使用的連接器。 'sudo gem spec mysql'說什麼? – 2010-05-17 18:09:19

+0

倫尼:腳本gprime $ sudo的創業板規範的MySQL 密碼: ---紅寶石/對象:寶石::規格 名稱:mysql的 版本:紅寶石/對象:寶石::版本 散列:45 搶鮮:假 段: - 2 - 8 - 1 版本:2.8.1 平臺:紅寶石 作者: - 富田正弘 autorequire: BINDIR:BIN cert_chain:[] ... – gprime 2010-05-17 18:29:20

0

您有關於new方法的參數錯誤數量的明確消息。也許嘗試不同的方法?例如,real_connect

db = Mysql.real_connect('localhost', 'test', 'test', 'testdb'); 

用戶:測試,道:測試,分貝:TESTDB

+0

沒什麼,也沒有工作 generate.rb:37:未定義的方法'real_connect'爲Mysql:Class(NoMethodError) 也許我應該重新安裝一切,好像我缺少很多東西 – gprime 2010-05-17 18:59:22

+0

require'mysql'is傳遞所以模塊被加載,至少它似乎是這樣。奇。我測試了這個例子,它爲我工作(當然不同的憑據,但它是無關緊要的)。 – 2010-05-17 19:24:31

2

我面臨同樣的問題。卸載mysql gem並安裝ruby-mysql解決了這個問題。

須藤寶石卸載MySQL的

sudo的創業板安裝Ruby-mysql的