[ruby-list:39031] ruby-mysqlのlist_dbs

From: Takashi Kanai <kanai@...4u.or.jp>
Date: 2004-01-08 06:32:23 UTC
List: ruby-list #39031
こんにちは、金井です。

ruby-mysql の list_dbs を呼び出すと、それ以降のクエリがエラーに
なるという現象が出ています。

環境は、
 ruby 1.8.1 (2003-12-25) [i386-mswin32]
 MySQL 4.0.17
 ruby-mysql-0.2.2
 Windows2000(SP4)
で、以下の mysql-test.rb というスクリプトを動かすと、
-----------------------------------------------------------
#!/usr/local/bin/ruby
require 'mysql'

my = Mysql.new( "localhost", "root", "XXXXX", "mysql" )
dbs = my.list_dbs()
puts "//// #{dbs.inspect}"
dbs = []
my.query( "show databases" ).each { | row | dbs << row[0] }
puts "//// #{dbs.inspect}"
my.close
-----------------------------------------------------------
次のようなエラーが出ます。show databasesの代わりにuseとかselect
で試しても同じエラーになります。
-----------------------------------------------------------
c:/usr/local/lib/ruby/site_ruby/1.8/mysql.rb:490:in `error':
 Commands out of sync;  You can't run this command now (Mysql::Error)
  from c:/usr/local/lib/ruby/site_ruby/1.8/mysql.rb:427:in `command'
  from c:/usr/local/lib/ruby/site_ruby/1.8/mysql.rb:158:in `real_query'
  from c:/usr/local/lib/ruby/site_ruby/1.8/mysql.rb:272:in `query'
  from mysql-test.rb:8
-----------------------------------------------------------

--
金井 隆 (KANAI Takashi)
kanai@nn.iij4u.or.jp



In This Thread

Prev Next