fc2ブログ

RailsじゃなくてActiveRecordを使う with Oracle

OCI8は前に導入済み

Railsをインストール↓

# gem install rails

Oracle用のadapterをインストール↓

# gem install activerecord-oracle-adapter --source http://gems.rubyonrails.org

--source http://gems.rubyonrails.orgを付けないとダメらしい。

usersテーブルにレコードinsertをやってみる。

まずテーブル作成。例えばこんな感じとする↓

CREATE TABLE USERS(
ID NUMBER,
NAME CHAR(16),
AGE CHAR(3),
ADDRESS CHAR(128),
MAIL CHAR(64)
CONSTRAINT USERS_PRKEY PRIMARY KEY(ID) USING INDEX TABLESPACE MY_TS,
)TABLESPACE MY_TS;

id用のシーケンスを作成↓
CREATE SEQUENCE USERS_SEQ

テーブル名_SEQは規約らしい。

スクリプトは3つ。↓を同一ディレクトリに。

・arbasic.rb ← Oracle接続情報
・user.rb ← マッピングクラス
・main.rb ← 実際の実行ファイル

【arbasic.rb】
#!/usr/bin/ruby

require 'rubygems'
require 'active_record'

ActiveRecord::Base.establish_connection(
:adapter => 'oracle',
:username => 'hoge',
:password => 'hoge',
:database => 'dbhost_name/tns_name'
)

:databaseはホスト名(or IPアドレス)/TNS名。

【user.rb】
#!/usr/bin/ruby

require 'arbasic'

class User < ActiveRecoed::Base
end


【main.rb】
#!/usr/bin/ruby

require 'user'

class Main
def run
User.transaction do
objUser = User.new

objUser.name = 'hoge'
objUser.age = '30'
objUser.address = 'hoge city'
objUser.mail = 'hoge@hoge.com'

objUser.save!
end
end
end

Main.new.run

User.transaction do ~ endでトランザクション。この中で例外が発生するとロールバックされる。

この記事のトラックバックURL

http://ysmt.blog21.fc2.com/tb.php/247-442b4eb3

コメント

コメントする

管理者にだけ表示を許可する

Template Designed by DW99