From: Kenta Murata Date: 2011-08-10T22:48:57+09:00 Subject: [ruby-dev:44376] [Ruby 1.9 - Bug #5175] Ruby1.9.2p290 MySQLアクセスエラー Issue #5175 has been updated by Kenta Murata. Target version set to 1.9.2 dbi_mysql_connect2.rb は何者ですか? ---------------------------------------- Bug #5175: Ruby1.9.2p290 MySQLアクセスエラー http://redmine.ruby-lang.org/issues/5175 Author: eiichi maekawa Status: Open Priority: Normal Assignee: Category: Target version: 1.9.2 ruby -v: ruby 1.9.2p290 (2011-07-09) [i386-mingw32] 下記エラーは、RUBY1.9.2p180mingw、Ruby1.8.7p334mingwでは、生じません。 MySQL関連gemインストール D:\>pik list 187: ruby 1.8.7 (2010-12-23 patchlevel 330) [i386-mswin32] 187: ruby 1.8.7 (2011-02-18 patchlevel 334) [i386-mingw32] 187: ruby 1.8.7 (2011-06-30 patchlevel 352) [i386-mingw32] 192: ruby 1.9.2p136 (2010-12-25 revision 30365) [i386-mswin32] 192: ruby 1.9.2p180 (2011-02-18) [i386-mingw32] 192: ruby 1.9.2p290 (2011-07-09) [i386-mingw32] D:\>pik sw 192 290 D:\>cd d:\Ruby192p290 D:\Ruby192p290>gem install dbi-0.4.5.gem --no-ri --no-rdoc --local Successfully installed deprecated-2.0.1 Successfully installed dbi-0.4.5 2 gems installed D:\Ruby192p290> D:\Ruby192p290>ruby -v ruby 1.9.2p290 (2011-07-09) [i386-mingw32] D:\Ruby192p290>gem install dbd-mysql-0.4.4.gem --no-ri --no-rdoc --local Successfully installed mysql-2.8.1-x86-mingw32 Successfully installed dbd-mysql-0.4.4 2 gems installed 実行結果 D:\Ruby192p290>cd D:\Apache2.2\htdocs\ruby_prg\em_ruby\em_db D:\Apache2.2\htdocs\ruby_prg\em_ruby\em_db>ruby dbi_mysql_connect2.rb D:/Ruby192p290/lib/ruby/gems/1.9.1/gems/deprecated-2.0.1/lib/deprecated.rb:199: warning: already initialized constant Deprecate # # D:/Ruby192p290/lib/ruby/gems/1.9.1/gems/dbd-mysql-0.4.4/lib/dbd/mysql/statement.rb:130: [BUG] Segmentation fault ruby 1.9.2p290 (2011-07-09) [i386-mingw32] -- control frame ---------- c:0009 p:---- s:0035 b:0035 l:000034 d:000034 CFUNC :fetch_fields c:0008 p:0093 s:0032 b:0032 l:000031 d:000031 METHOD D:/Ruby192p290/lib/ruby/gems/1.9.1/gems/dbd-mysql-0.4.4/lib/dbd/mysql/statement.rb:130 c:0007 p:0040 s:0024 b:0024 l:000018 d:000023 BLOCK D:/Ruby192p290/lib/ruby/gems/1.9.1/gems/dbd-mysql-0.4.4/lib/dbd/mysql/statement.rb:37 c:0006 p:0019 s:0022 b:0022 l:000021 d:000021 METHOD :10 c:0005 p:0029 s:0019 b:0019 l:000018 d:000018 METHOD D:/Ruby192p290/lib/ruby/gems/1.9.1/gems/dbd-mysql-0.4.4/lib/dbd/mysql/statement.rb:34 c:0004 p:0096 s:0014 b:0014 l:000013 d:000013 METHOD D:/Ruby192p290/lib/ruby/gems/1.9.1/gems/dbi-0.4.5/lib/dbi/handles/statement.rb:116 c:0003 p:0091 s:0010 b:0010 l:001f64 d:0024f4 EVAL dbi_mysql_connect2.rb:16 c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH c:0001 p:0000 s:0002 b:0002 l:001f64 d:001f64 TOP --------------------------- -- Ruby level backtrace information ---------------------------------------- dbi_mysql_connect2.rb:16:in `
' D:/Ruby192p290/lib/ruby/gems/1.9.1/gems/dbi-0.4.5/lib/dbi/handles/statement.rb:116:in `execute' D:/Ruby192p290/lib/ruby/gems/1.9.1/gems/dbd-mysql-0.4.4/lib/dbd/mysql/statement.rb:34:in `execute' :10:in `synchronize' D:/Ruby192p290/lib/ruby/gems/1.9.1/gems/dbd-mysql-0.4.4/lib/dbd/mysql/statement.rb:37:in `block in execute' D:/Ruby192p290/lib/ruby/gems/1.9.1/gems/dbd-mysql-0.4.4/lib/dbd/mysql/statement.rb:130:in `column_info' D:/Ruby192p290/lib/ruby/gems/1.9.1/gems/dbd-mysql-0.4.4/lib/dbd/mysql/statement.rb:130:in `fetch_fields' [NOTE] You may have encountered a bug in the Ruby interpreter or extension libraries. Bug reports are welcome. For details: http://www.ruby-lang.org/bugreport.html This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. 同様にRuby1.8.7p352でもエラーとなります。 Mysql関連設定及び実行結果 ============ MySQL セットアップ ================================ ※ libmysql.dll (サイズ 2028KB)⇒bin\にコピーする ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ =========== dbd-mysql-0.4.3 をセットする===================== D:\>cd ruby187p352 D:\Ruby187p352>cd dbd-mysql-0.4.3 D:\Ruby187p352\dbd-mysql-0.4.3>ruby setup.rb config ---> lib ---> lib/dbd ---> lib/dbd/mysql <--- lib/dbd/mysql <--- lib/dbd <--- lib D:\Ruby187p352\dbd-mysql-0.4.3>ruby setup.rb setup ---> lib ---> lib/dbd ---> lib/dbd/mysql <--- lib/dbd/mysql <--- lib/dbd <--- lib D:\Ruby187p352\dbd-mysql-0.4.3>ruby setup.rb install rm -f InstalledFiles ---> lib mkdir -p D:/Ruby187p352/lib/ruby/site_ruby/1.8 ---> lib/dbd mkdir -p D:/Ruby187p352/lib/ruby/site_ruby/1.8/dbd install Mysql.rb D:/Ruby187p352/lib/ruby/site_ruby/1.8/dbd ---> lib/dbd/mysql mkdir -p D:/Ruby187p352/lib/ruby/site_ruby/1.8/dbd/mysql install database.rb D:/Ruby187p352/lib/ruby/site_ruby/1.8/dbd/mysql install driver.rb D:/Ruby187p352/lib/ruby/site_ruby/1.8/dbd/mysql install statement.rb D:/Ruby187p352/lib/ruby/site_ruby/1.8/dbd/mysql <--- lib/dbd/mysql <--- lib/dbd <--- lib D:\Ruby187p352\dbd-mysql-0.4.3> ===================== dbd-mysql-0.4.3 をセットする ==================== D:\Ruby187p352\dbd-mysql-0.4.3>cd .. D:\Ruby187p352>cd dbi-0.4.3 D:\Ruby187p352\dbi-0.4.3>ruby setup.rb config ---> bin <--- bin ---> lib ---> lib/dbi ---> lib/dbi/base_classes <--- lib/dbi/base_classes ---> lib/dbi/handles <--- lib/dbi/handles ---> lib/dbi/sql <--- lib/dbi/sql ---> lib/dbi/utils <--- lib/dbi/utils <--- lib/dbi <--- lib D:\Ruby187p352\dbi-0.4.3>ruby setup.rb setup ---> bin updating shebang: dbi updating shebang: test_broken_dbi <--- bin ---> lib ---> lib/dbi ---> lib/dbi/base_classes <--- lib/dbi/base_classes ---> lib/dbi/handles <--- lib/dbi/handles ---> lib/dbi/sql <--- lib/dbi/sql ---> lib/dbi/utils <--- lib/dbi/utils <--- lib/dbi <--- lib D:\Ruby187p352\dbi-0.4.3>ruby setup.rb install rm -f InstalledFiles ---> bin mkdir -p D:/Ruby187p352/bin install dbi D:/Ruby187p352/bin/ install test_broken_dbi D:/Ruby187p352/bin/ <--- bin ---> lib mkdir -p D:/Ruby187p352/lib/ruby/site_ruby/1.8 install dbi.rb D:/Ruby187p352/lib/ruby/site_ruby/1.8/ ---> lib/dbi mkdir -p D:/Ruby187p352/lib/ruby/site_ruby/1.8/dbi install base_classes.rb D:/Ruby187p352/lib/ruby/site_ruby/1.8/dbi install binary.rb D:/Ruby187p352/lib/ruby/site_ruby/1.8/dbi install columninfo.rb D:/Ruby187p352/lib/ruby/site_ruby/1.8/dbi install exceptions.rb D:/Ruby187p352/lib/ruby/site_ruby/1.8/dbi install handles.rb D:/Ruby187p352/lib/ruby/site_ruby/1.8/dbi install row.rb D:/Ruby187p352/lib/ruby/site_ruby/1.8/dbi install sql.rb D:/Ruby187p352/lib/ruby/site_ruby/1.8/dbi install sql_type_constants.rb D:/Ruby187p352/lib/ruby/site_ruby/1.8/dbi install trace.rb D:/Ruby187p352/lib/ruby/site_ruby/1.8/dbi install types.rb D:/Ruby187p352/lib/ruby/site_ruby/1.8/dbi install typeutil.rb D:/Ruby187p352/lib/ruby/site_ruby/1.8/dbi install utils.rb D:/Ruby187p352/lib/ruby/site_ruby/1.8/dbi ---> lib/dbi/base_classes mkdir -p D:/Ruby187p352/lib/ruby/site_ruby/1.8/dbi/base_classes install database.rb D:/Ruby187p352/lib/ruby/site_ruby/1.8/dbi/base_classes install driver.rb D:/Ruby187p352/lib/ruby/site_ruby/1.8/dbi/base_classes install statement.rb D:/Ruby187p352/lib/ruby/site_ruby/1.8/dbi/base_classes <--- lib/dbi/base_classes ---> lib/dbi/handles mkdir -p D:/Ruby187p352/lib/ruby/site_ruby/1.8/dbi/handles install database.rb D:/Ruby187p352/lib/ruby/site_ruby/1.8/dbi/handles install driver.rb D:/Ruby187p352/lib/ruby/site_ruby/1.8/dbi/handles install statement.rb D:/Ruby187p352/lib/ruby/site_ruby/1.8/dbi/handles <--- lib/dbi/handles ---> lib/dbi/sql mkdir -p D:/Ruby187p352/lib/ruby/site_ruby/1.8/dbi/sql install preparedstatement.rb D:/Ruby187p352/lib/ruby/site_ruby/1.8/dbi/sql <--- lib/dbi/sql ---> lib/dbi/utils mkdir -p D:/Ruby187p352/lib/ruby/site_ruby/1.8/dbi/utils install date.rb D:/Ruby187p352/lib/ruby/site_ruby/1.8/dbi/utils install tableformatter.rb D:/Ruby187p352/lib/ruby/site_ruby/1.8/dbi/utils install time.rb D:/Ruby187p352/lib/ruby/site_ruby/1.8/dbi/utils install timestamp.rb D:/Ruby187p352/lib/ruby/site_ruby/1.8/dbi/utils install xmlformatter.rb D:/Ruby187p352/lib/ruby/site_ruby/1.8/dbi/utils <--- lib/dbi/utils <--- lib/dbi <--- lib D:\Ruby187p352\dbi-0.4.3> ========= MySQL関連のgemをインストールする ============================= D:\Ruby187p352\dbi-0.4.3>cd .. D:\Ruby187p352>gem install deprecated-2.0.1.gem --no-ri --no-rdoc --local Successfully installed deprecated-2.0.1 1 gem installed D:\Ruby187p352>gem install mysql-2.8.1-x86-mswin32.gem --no-ri --no-rdoc --local Successfully installed mysql-2.8.1-x86-mswin32 1 gem installed D:\Ruby187p352> +++++++++++++++++++++MySQLアクセス検証++エラー発生++++++++++++++++++++ D:\>cd D:\Apache2.2\htdocs\ruby_prg\em_ruby\em_db D:\Apache2.2\htdocs\ruby_prg\em_ruby\em_db>ruby dbi_mysql_connect2.rb D:/Ruby187p352/lib/ruby/gems/1.8/gems/deprecated-2.0.1/lib/deprecated.rb:199: warning: already initialized constant Deprecate D:/Ruby187p352/lib/ruby/site_ruby/1.8/dbi.rb:318:in `load_driver': Could not load driver (Could not find driver Mysql or mysql (error: RubyGem version error: mysql(2.8.1 not >= 0) (DBI::InterfaceError) )) from D:/Ruby187p352/lib/ruby/site_ruby/1.8/dbi.rb:160:in `_get_full_driver' from D:/Ruby187p352/lib/ruby/site_ruby/1.8/dbi.rb:145:in `connect' from dbi_mysql_connect2.rb:6 D:\Apache2.2\htdocs\ruby_prg\em_ruby\em_db>ruby -v ruby 1.8.7 (2011-06-30 patchlevel 352) [i386-mingw32] -- http://redmine.ruby-lang.org