[#40641] ライブラリのパス?を確認する方法と、設定する方法がわかりません。 — "Inoue Koichi" <inokou@...>
はじめまして、井上です。
6 messages
2005/03/04
[#40645] [ANN] YARV - Yet Another RubyVM 0.2.0 — SASADA Koichi <ko1@...>
ささだです。
1 message
2005/03/04
[#40647] RAA dead link check — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです。
19 messages
2005/03/04
[#40685] Re: RAA dead link check
— "NAKAMURA, Hiroshi" <nakahiro@...>
2005/03/20
-----BEGIN PGP SIGNED MESSAGE-----
[#40687] Re: RAA dead link check
— "NAKAMURA, Hiroshi" <nakahiro@...>
2005/03/20
-----BEGIN PGP SIGNED MESSAGE-----
[#40651] LDAPでReferral — Takeyuki Fujioka <fuji@...>
藤岡です。
7 messages
2005/03/08
[#40657] ruby-postgresql0.7.1 — Ryutaro Amano <wn9r-amn@...>
天野竜太郎です。Mac OS X 10.3.8です。
11 messages
2005/03/09
[#40668] net/httpが返すエラーの捕捉について質問 — ikezawa@... (ikezawa)
池澤といいます。
6 messages
2005/03/13
[#40670] CGI.rb POSTしたデータが途切れる — KAWAI Ryuji <riu2@...>
河合と申します。
10 messages
2005/03/14
[#40692] Class.allocateの代替手段はあるか? — 西 啓一朗 <receiver@...>
どうも。西 啓一朗@Ktouth Brand.です。
4 messages
2005/03/21
[#40703] 拡張ライブラリでのクラス変数の参照について — Macoto Kawaguchi <macoto@...>
はじめまして。川口と申します。
3 messages
2005/03/23
[#40714] erubyにおける 「name=value」の指定の仕方 — Hisao Katayama <katayama-ruby@...>
はじめまして、erubyでcgiをコマンドラインで実行するときの
5 messages
2005/03/23
[ruby-list:40713] [ANN] ruby-oci8 0.1.10
From:
KUBO Takehiro <kubo@...>
Date:
2005-03-23 16:21:36 UTC
List:
ruby-list #40713
久保です。
# これまで ruby-talk にのみリリースアナウンスを出していて、ruby-list
# にはアナウンスするのを忘れていました。
ruby-oci8 0.1.10 をリリースしました。
ruby-oci8 は OCI8 を使用した Oracle モジュールです。
URL:http://rubyforge.org/projects/ruby-oci8/
What's new:
1. PL/SQL のカーソルを OCI8::Cursor や DBI::StatementHandle として取り
出す。
(requested by Stephen Flinter and Jason Sweat.)
例:
(OCI8上位API)
# parse PL/SQL
plsql = conn.parse("BEGIN OPEN :cursor FOR SELECT * FROM emp; END;")
# bind :cursor as OCI8::Cursor
plsql.bind_param(':cursor', OCI8::Cursor)
# execute
plsql.exec
# get a bind value, which is an OCI8::Cursor.
cursor = plsql[':cursor']
# fetch results from the cursor.
while r = cursor.fetch()
puts r.join(',')
end
または
(Ruby/DBI の API)
# parse/bind/execute PL/SQL
sth1 = dbh.execute("BEGIN OPEN ? FOR SELECT * FROM emp; END;", DBI::StatementHandle)
# get a bind value, which is a DBI::StatementHandle.
sth2 = sth1.func(:bind_value, 1)
# fetch results from the statement handle.
while r = sth2.fetch()
puts r.join(',')
end
制限
PL/SQL からの出力として値を取り出すことはできますが、
OCI8 で作成したカーソルを PL/SQL へわたすことはできません。
2. LONG / LONG RAW のカラムを 65535 バイト以下の String として取り出す。
(suggested by Graham Jenkins.)
制限
65535 を越えたときの動作は実験していません.....。m(__)m
3. SELECT文で取り出される値の型のデフォルトを変更可能に。
いろんな人が Oracle の TIMESTAMP 型のサポートをリクエストしています
が、いまだにサポートできていません。しかし、以下のコードを使用すると、
精度は落ちますが、TIMESTAMP型を OraDate として取り出すことができます。
OCI8::BindType::Mapping[OCI8::SQLT_TIMESTAMP] = OCI8::BindType::OraDate
Oracle の DATE 型を ruby の Time で取り出す。
OCI8::BindType::Mapping[OCI8::SQLT_DAT] = OCI8::BindType::Time
Oracle の NUMBER 型を常に ruby の Float で取り出す。
OCI8::BindType::Mapping[OCI8::SQLT_NUM] = OCI8::BindType::Float
といったことが可能です。
では、再見
--
久保 健洋
email: kubo@jiubao.org
web: http://www.jiubao.org
GnuPG fingerprint = 5F7B C8EF CA16 57D0 FDE1 9F47 C001 1F93 AC08 2262