2010-05-17 44 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的