SQLの窓

2018年04月05日


Pleiades Eclipse 4.7 Oxygen で Ruby を使って MySQL にアクセスする

1) 前提条件

以下のリンク先で、Pleiades Eclipse 4.7 Oxygen の導入について解説しています。

Pleiades Eclipse 4.7 Oxygen 2 Windows 64bit Ultimate Full Edition のインストールといろいろな準備

以下のリンク先で、Pleiades Eclipse 4.7 Oxygen 2 Windows 64bit Ultimate Full Edition 内の MySQL のセットアップについて解説しています。

Pleiades Oxygen 2 の XAMPP 内の MySQL を利用可能にしてテストデータ(販売管理)を登録する

2) Ruby+Devkit 2.4.4-1 (x64) をインストール

rubyinstaller.org よりダウンロードします

日々変わっているようですが、現時点でのバージョンは上記の通りで MSYS2 は外から見えないようにインストールされます(Ruby のインストールの最後にチェックを外して MSYS2 をインストールしなくてもかまいません)









▼ 以下は MSYS2 のインストールです。1、2、3 と順に入力して実行します。


▼ メニューに登録された、Ruby 用のコマンドプロンプトを開きます


▼ gem install ruby-mysql で、mysql 用のライブラリをインストール


このライブラリは Ruby だけで書かれていて、インストールが簡単です。他のライブラリは Windows で動作させるにはいろいろ面倒なので、特別な理由が無い場合はこれを選びます。(サンプルコードを後述します)
GitHubruby-mysql/test/test_mysql.rb で勉強もできます。

3) Eclipse の Ruby パースペクティブで MySQL に接続して実行

Eclipse 用の Ruby で使用するワークスペース用フォルダを作成しておいて選択します。



Ruby パースペクティブを選択します。



手順1) 注意事項

Pleiades Eclipse 4.7 Oxygen 2 Windows 64bit Ultimate Full Edition でワークスペースを最初に開くと、『システム PYTHONPATH の変更が検出されました』と出るので、とにかくこれは避けれなかったので適用します。



また、Python と Ruby では、RemoteSystemsTempFiles が作成されてしまいます。あっても問題無いですが、削除したい場合は『Pleiades Oxygen : Python と Ruby のパースペクティブでワークスペースを開いて最初に現れる『RemoteSystemsTempFiles』を削除する』を参照して下さい。

手順2) プロジェクト作成

▼ 最初に ウインドウ => 設定 より Ruby のインタープリタ(ruby.exe) を選択しておきます


▼ Ruby プロジェクトを選択します


▼ プロジェクト名を入力して完了します


▼ 空の Ruby スクリプトを二つ作成します

1) my_func.rb
2) MySQL_01.rb

my_func.rb に MySQL のアクセスのメイン部分を関数で作成して、MySQL_01.rb でこのソースを require して使用します。

▼ 実行の構成


Ruby スクリプトをダブルクリックして、プロジェクトと起動スクリプトを選んで実行です。

手順3) ソースコード
▼ my_func.rb
=begin
	※ 前方参照の関数を require

	select の結果を CSV 形式の文字列で取得する
=end
def get_csv(connection,sql)

	# $ は グローバルスコープの変数
	$error_flg = 0
	$error_msg = ""

	str_row = ""
	begin
		result = connection.query(sql)
		result.each do |fld|
			len = fld.length
			for data in fld do
				# 文字列追加
				str_row << "#{data},"
			end
			# 最後のカンマを取り除く
			str_row.chop!()
			# 次の行の為改行( 文字列追加 )
			str_row << "\n"
		end
	# エラー処理
	rescue => ex
		$error_msg = ex.error + "\n"
		$error_flg = ex.errno
	end

	return str_row

end

▼ MySQL_01.rb
# https://github.com/tmtm/ruby-mysql/blob/master/lib/mysql.rb
# http://www.tmtm.org/ruby/mysql/

require 'mysql'

# カレントのファイルを関数定義として読み込み
require './my_func'

# 接続
begin
	connection = Mysql.connect("127.0.0.1", "root", "", "lightbox")
rescue => ex
	print format("%d エラーが発生しました\n%s",ex.errno,ex.error);
	# 接続エラーの場合は終了
	exit!
end

# select の結果を CSV 形式の文字列で取得する
print get_csv(connection,"select * from 社員マスタ")

# 接続解除
connection.close

if $error_flg != 0 then
	print format("%d エラーが発生しました\n%s",$error_flg,$error_msg);
end


エディタのタブの設定






関連する記事

Pleiades Eclipse 4.7 Oxygen 2 Windows 64bit Ultimate Full Edition のインストールといろいろな準備


Pleiades Oxygen 2 の XAMPP 内の FileZilla Server をインストールして使用する


Pleiades Oxygen 2 の XAMPP 内の MySQL を利用可能にしてテストデータ(販売管理)を登録する


Pleiades Oxygen 2 の XAMPP 内の MercuryMail をインストールして使用する





posted by lightbox at 2018-04-05 15:39 | Ruby 2018 | このブログの読者になる | 更新情報をチェックする
container 終わり



フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり