From: Albert Wagner Date: 2001-06-10T03:08:21+09:00 Subject: [ruby-talk:16371] Re: [ANN] Ruby/DBI 0.0.5 Thanks for the heads-up, Michael. I wasn't aware of this project and had wondered why no one was doing it. On Saturday 09 June 2001 04:44, you wrote: > Hello, > > I am pleased to announce a new and completely rewritten version of Ruby's > DBI. It is now in version 0.0.5, where this is no more compatible to the > version 0.0.4 which was written by Rainer Perl. > > Ruby/DBI (RAA entry Library/Database/DBI) is a database independent > interface for accessing databases, similar to Perl's DBI (but easier to use > :-), and the following database drivers (DBD) currently exist (which are > included in the DBI module): > > * ADO (ActiveX Data Objects) (tested with MS Access, CSV and Excel) > * IBM DB2 > * InterBase > * mSQL > * MySQL > * ODBC > * Oracle > * PostgreSQL > * Proxy/Server (DBI over TCP/IP) > > (the DBD for Sybase is included but this is currently outdated and will not > work with version 0.0.5) > > Version 0.0.5 has too many changes towards version 0.0.4, so it makes no > sense to list them here. > > For more informations look at the DBI and DBD specifications at: > > http://www.ruby-projects.org/dbi/dbi/DBI_SPEC.html > http://www.ruby-projects.org/dbi/dbi/DBD_SPEC.html > > and visit the DBI homepage at: > > http://www.ruby-projects.org/dbi > > The version 0.0.5 of Ruby/DBI can be downloaded > > http://www.ruby-projects.org/downloads/dbi/ruby-dbi-all-0.0.5.tar.gz > > You can subscribe to the Ruby/DBI mailing list at: > > http://groups.yahoo.com/group/ruby-dbi-talk > > > Here's a simple example showing how to insert 100 rows into a database: > > require 'dbi' > > DBI.connect('dbi:Pg:michael', 'michael', 'michael', 'AutoCommit' => false) > do |dbh| dbh.prepare("INSERT INTO test VALUES (?,?)") do |sth| > for i in 1..100 do > sth.execute(i, "Line #{i}") > end > end > end > > -------- > > Of course the block form can be ommited and the DatabaseHandle can be > assigned to a variable, but then you have to call "disconnect" or "finish", > where the block-form ensures this is done (like File.open with block). > > Or to output all rows of a table, you can use a short form: > > DBI.connect('dbi:Pg:michael', 'michael', 'michael', 'AutoCommit' => false) > do |dbh| dbh.select_all("SELECT * FROM test") { |row| p row } > end > > > I am thankful for any comments towards improving Ruby/DBI. > > > Regards, > > Michael Neumann