用Ruby进行多个MySQL查询

5

我在使用Ruby的MySQL查询时遇到了麻烦。我使用的是'mysql' gem。

配置存储在单独的yml文件中,并加载到@conf变量中。 这是我的代码:

# connect to the database
Mysql::new(@conf['sql_host'], @conf['sql_user'], @conf['sql_password'], @conf['sql_base'])

# it's ok when we're doing this
my.query("SELECT * FROM `my_table`") do |e|
  # code
end

# Maybe, I've missed something here...

# really this query will insert value into other table, used SELECT just for testing
# this throws exception: 'query: not connected'
my.query("SELECT * FROM `my_table_2`")

Windows XP
ruby 1.8.6 (2008-08-11 patchlevel 287) [i386-mswin32]
mysql (2.8.1, 2.7.3)
MySQL客户端版本:5.0.51a

第二个查询抛出“query: not connected”。

2个回答

7

太好了!谢谢! 之前我遇到了libmysql的问题,但是我从我的Mysql安装中复制了它 - 而不是从rubyforge。它可以工作了!耶! - lks128
谢谢Jirapong。只是为了澄清修复,5.0.x库将起作用。我正在使用5.1.42服务器和ruby/bin中的5.0.4 libmysql.dll。 - Sixty4Bit
谢谢!我一整天都在尝试使用不同的ORM包装器,最终放弃了并决定直接使用Ruby Mysql,结果遇到了同样的问题。最后发现这个版本也不适合我,但是这个解决方案解决了我的问题 :-) - mikabytes

0

当我尝试在任何版本的Windows上使用Ruby的mysql gem时,遇到了无法估量的问题。据我所知,除非你能够弄清楚如何自己编译它(这是一件非常麻烦的事情),否则它根本不起作用。

您是否考虑过将ActiveRecord作为ORM(对象关系映射)层,并在Windows上使用SQLite或其他数据库进行开发,然后在Linux上使用MySQL运行生产环境? 这是我一段时间以前采取的解决方案,效果非常好。


主要问题是数据库已经完成并正在运行。 我正在为这个基地编写一个小工具。 我只需要执行数据库查询。还有其他方法吗? - lks128

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接