5月のカレンダー

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

各月の日記

ユーザーRSS

Powered by

HAMUCHIさんの公開日記

2010年
08月24日
21:48
意外と手こずったのでメモ。
主にバッチファイルをWindowsで動かすところ。
コマンドプロンプト分からないっ!

1.Mysql for Rubyインストール
http://www.tmtm.org/ruby/mysql/
ruby-mysql-0.2.6.tar.gz ←これインストール

2.↑はかなり古いので対応パッチをついでにダウンロード
http://www.tmtm.org/ruby/mysql/ruby_mysql4.patch

3.落としたパッチの適用
windowsでパッチファイルを当てるために小細工。
当て方参考
パッチファイル
http://yang.amp.i.kyoto-u.ac.jp/~yyama/FreeBSD/unix/diff-...
Windowsにはpatchコマンドがないので
プログラミング・ツール(移植ソフト)
http://cetus.sakura.ne.jp/softlab/toolbox1/index.html

4.mysql.rbをmysql4.rbにリネーム

5.コマンドプロンプトで以下のコマンドを実行
patch < ruby_mysql4.patch

6.パッチをあてているのに、DBの認証ロジックでエラーになるので修正
Digest::SHA1のコンストラクタに引数を与えるとエラるので
Ruby/mysql.rbの550行目付近を

#s1 = Digest::SHA1.new(password).digest
#s2 = Digest::SHA1.new(s1).digest
#x = Digest::SHA1.new(message + s2).digest
objDigest = Digest::SHA1.new()
s1 = objDigest.digest(password)
s2 = objDigest.digest(s1)
x = objDigest.digest(message + s2)

7.Windowsにインストール
コマンドプロンプトで以下のコマンドを実行
ruby ./install.rb

8.接続テスト
コマンドプロンプトで以下のコマンドを実行
ruby test.rb localhost root hoge

9.テストのプログラム
DBMS接続、DB選択、文字化け、を考慮すると
#ここから

# Ruby/MySQL を読み込みます。
require 'mysql'
require "kconv"

# MySQL に接続します。
my = Mysql.new('127.0.0.1','root','sa')
my.query("set character set utf8")
my.query("use hoehoe")
# SQL クエリを実行します。
res = my.query('SELECT * from tblname')

# 結果を表示します。
res.each do |col|
col1 = col[0]
col2 = col[1]
puts Kconv.tosjis(col1)
puts Kconv.tosjis(col2)
end

#ここまで

こんな感じでいけます。