Ruby-oci8 1.0.6 and 2.0.2 are released. These are Oracle modules using OCI8 API. http://rubyforge.org/projects/ruby-oci8/ Ruby-oci8 1.0.6 is a latest stable release. The target ruby version is 1.8. It doesn't work with ruby 1.9. Ruby-oci8 2.0.2 is an unstable release. It works on both ruby 1.8 and 1.9 and has usefull features compared with ruby-oci8 1.0.6. Note: Active record oracle adapter doesn't work with 2.0.2. Use Active record oracle_enhanced adapter instead. http://rubyforge.org/projects/oracle-enhanced What's new in 1.0.6. * fix a problem when compiling for Oracle 8.0. (reported by Axel Reinhold as a ruby-oci8 2.0 issue) * [dbi] fix to pass a newly added sanity check in dbi 0.4.1. (reported by Dirk Herzhauser as a ruby-oci8 2.0 issue) * [dbi] fix dbh#columns for Oracle 8.1 or lower. The data dictionary all_constraints doesn't have index_name column on Oracle 8i. Rewrite DBI::DBD::OCI8::Database#columns by using all_cons_columns. (backport from ruby-oci8 trunk) What's new in 2.0.2. * add new methods - OCI8#select_one(sql, *bindvars) -> first_row - OCI8#ping -> true or false Verifies that the Oracle connection is alive. OCI8#ping also can be used to flush all the pending OCI client-side calls to the server if any exist. - OCI8#client_identifier = client_id Look at the following link to know what is the client identifier. http://it.toolbox.com/blogs/database-solutions/ora... Note that the specified identifier doesn't change the v$session immediately. It is done by the next network round trip such as OCI8#exec or OCI8#ping. * fix problems when compiling with Oracle 9.2 and 8.0. (reported by Axel Reinhold) * [dbi] fix to pass a newly added sanity check in dbi 0.4.1. (reported by Dirk Herzhauser) * fix an error when executing "select NULL from dual". http://rubyforge.org/forum/forum.php?thread_id=324... (contributed by Raimonds Simanovskis) * [ruby 1.9] fix OCI8::BLOB to read/write binary. Prior to 2.0.1, it was treated as text tagged with NLS_LANG encoding. * [ruby 1.9] fix to bind string data by the length got from String#bytesize converted to OCI8.encoding, not by String#size.
on 2009-05-17 16:26
on 2009-05-17 23:07
I'm looking forward to trying this out! I have a question though. I've noticed you have a few objects like OraDate. Why have something like OraDate when there's objects like DateTime that more or less do the same thing? James
on 2009-05-18 00:33
Hi, On Mon, May 18, 2009 at 6:06 AM, James Herdman <email@example.com> wrote: > I'm looking forward to trying this out! > > I have a question though. I've noticed you have a few objects like OraDate. > Why have something like OraDate when there's objects like DateTime that more > or less do the same thing? It is for a historical reason. I started to develop ruby-oci8 about 7 years ago. DateTime wasn't available at that time. See: http://rubyforge.org/forum/forum.php?thread_id=228... When fetching DATE, ruby-oci8 1.0 returns OraDate by default. You can customize it to return DateTime as follows: OCI8::BindType::Mapping[OCI8::SQLT_DAT] = OCI8::BindType::DateTime On the other hand, ruby-oci8 2.0 returns DateTime by default. OraDate is also available for backward compatibility by the following setting. OCI8::BindType::Mapping[OCI8::SQLT_DAT] = OCI8::BindType::OraDate