2011年8月10日

[ruby-list:48301] Re: require 'dbi' の警告について

前川です。
gemファイル、ありがとうございました。

Runy1.9.2p290で実施した結果が、以下です。

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\*******>pik sw 192 290

C:\Documents and Settings\*******>d:

D:\>cd ruby192p290

D:\Ruby192p290>gem list mysql

*** LOCAL GEMS ***

mysql (2.8.1 x86-mingw32)

D:\Ruby192p290>gem uninstall mysql

You have requested to uninstall the gem:
mysql-2.8.1-x86-mingw32
dbd-mysql-0.4.4 depends on [mysql (>= 0)]
If you remove this gems, one or more dependencies will not be met.
Continue with Uninstall? [Yn] y
Successfully uninstalled mysql-2.8.1-x86-mingw32 #← mysql-2.8.1-x86-mingw32
をアンインストール

D:\Ruby192p290>gem install mysql-2.8.2-x86-mingw32.gem --no-ri --no-rdoc
--local #←信岡さんよりのgemファイルをインストール
Successfully installed mysql-2.8.2-x86-mingw32
1 gem 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 -v
ruby 1.9.2p290 (2011-07-09) [i386-mingw32]

D:\Apache2.2\htdocs\ruby_prg\em_ruby\em_db>ruby dbi_mysql_connect2.rb
#←Rubyより、読み込みのプログラムを実行
D:/Ruby192p290/lib/ruby/gems/1.9.1/gems/deprecated-2.0.1/lib/deprecated.rb:199:
warning: already initialized constant Deprecate

# 出力されたデータ抜粋(最終行のデータのみ)

["12284-D001", "", "", "", "", "", "", "", "", "", "", "0", "0", "0", "0",
"0", "tsuyoshi_watanabe@xxxxx",
"shingo_iyoshi@xxxxx", "minoru_hiroshige@xxxxx",
"takafumi_mori@xxxxx", "takashi_mita@xxxxx", "936e95d3208d84",
"88e48b6720904c8ce1", "9c418f64208ec0", "90582097b28e6a",
"8e4f93632097b28e6a", "1", "1", "0", "0", "0"]

結果、Mysqlのデータを取り出せました。

>
D:/Ruby192p290/lib/ruby/gems/1.9.1/gems/deprecated-2.0.1/lib/deprecated.rb:199:
warning: already initialized constant Deprecate

のワーニングが、出てるのですが、この分は、無視してもいいですよね。

ありがとうございました。

"Y. Nobuoka" <nobuoka@xxxxx> wrote on 2011/08/10 06:38:13:

> 前川さん
>
> 信岡です。
>
> 私の方でろくに Windows 環境を作らずにごちゃごちゃ言っててもあれなので、
> 私の方でも windows に ruby-1.9.2-p290 をインストールしてみました。
> 結果としては、前川さんの環境と同じように segmentation fault が発生しまし
た。
> (毎回発生するわけでもないですし、どういう条件で発生するんでしょうね。。)
>
> 原因を調べましたが、先のメールで述べたような既知のバグ (?) である
> 「MySQL 5.1 で segmentation fault が発生する」 という問題ではないかと思い
ます。
> そこで、自前で MySQL/Ruby ライブラリのバージョン 2.8.2 を自前でビルドして
> それを使ってみることにしました。
> その結果、segmentation fault が発生しなくなりました (おそらく)。
> (segmentation fault が起こるかどうか試すのに使用したプログラムを
> メール末尾に付けておきます。)
>
> 私がビルドして gem パッケージにした mysql ライブラリを [1] においておきま
すので、
> 一度これを試してみてください。
>
> [1] http://www.vividcode.info/project/ruby/mysql.html
>
> > 何度も書くようですが、Ruby192p180では、アクセスは問題ないです。
>
> 確かに別のパッチレベルでは発生しないというのは謎ですね。
>
>
> --- segmentation fault が起こるかどうか試すために実行したスクリプト ---
> --- ( DB 構築は既に済ませているとする ) ---
> #! ruby -EUTF-8:UTF-8
> # coding: UTF-8
>
> require "dbi"
>
> 1000.times do |i|
> $stdout << '.'
> $stdout << " #{i+1}\n" if ( i + 1 ) % 50 == 0
> begin
> dbh = DBI.connect( 'DBI:Mysql:mytest:localhost', 'xxxx', 'xxxx' )
> dbh.do( 'CREATE TABLE aplist ( ttt INTEGER )' )
> 200.times do |a|
> dbh.do( "INSERT INTO aplist VALUES ( #{a} )" )
> end
> dbh.execute( 'SELECT * FROM aplist' ) do |res|
> while row = res.fetch do
> row
> end
> end
> dbh.do( 'DROP TABLE aplist' )
> ensure
> dbh.disconnect if dbh
> end
> end
>
> --
> 信岡 ゆう (NOBUOKA Yu)
>

投稿者 xml-rpc : 2011年8月10日 09:00
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/105630
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。