[原创]Ruby读MS Access
Thursday, September 13th, 2007此文章我已经发布在http://www.gcs8.cn软工吧论坛。欢迎转载,注明出处即可,呵呵! Ruby连接MS Access数据库,实际上是十分简单的。 假设有一个Access数据库文件 example.mdb 一个表叫issue结构很简单: 几个字段:IssueNumber,AssignedTo,RaisedBy,IssueName,Description, (数据根据字段名字就能猜出类型)。 我们以在Windows操作系统下为例,首先需要配置ODBC,大体就是在控制面板-管理工具-数据源(ODBC)中添加系统数据源,我们把数据源名字命名为:IssueTracker。配置好数据源,剩下的一切都很简单了。 代码如下: require 'DBI' conn = DBI.connect('DBI:ODBC:IssueTracker','','') sth = conn.execute("SELECT IssueNumber,RaisedBy,AssignedTo,IssueName,Description FROM issue where IssueNumber<500") rows = sth.fetch_all col_names = sth.column_names sth.finish DBI::Utils::TableFormatter.ascii(col_names, rows) 运行一下,显示结果为: +-------------+----------+------------+------------------------------------------- -----------------------------------+---------------------------------------------- ---------------------------------------------------------------------------------- ---------------------------------------------------------------------------------- ---------------------------------------------------------------------------------- ---------------------------------------------------------------------------------- ---------------------------------------------------------------------------------- ---------------------------------------------------------------------------------- ---------------------------------------------------------------------------------- ---------------------------------------------------------------------------------- ---------------------------------------------------------------------------------- -----------+ | IssueNumber | RaisedBy | AssignedTo | IssueName | Description | +-------------+----------+------------+----------------------------------------- -------------------------------------+-------------------------------------------- ---------------------------------------------------------------------------------- ---------------------------------------------------------------------------------- ---------------------------------------------------------------------------------- ---------------------------------------------------------------------------------- ---------------------------------------------------------------------------------- ---------------------------------------------------------------------------------- ---------------------------------------------------------------------------------- ---------------------------------------------------------------------------------- ---------------------------------------------------------------------------------- -------------+ | 377 | NULL | NULL | NULL | none | | 401 | 张三 | 李四 | 软工吧论坛是个好论坛册 | 软工吧论坛是个好论坛,的确是个好论坛。 经过实际测试,读取500条数据非常耗费时间,Ruby的执行速度的确不快,根据以前写过的一个VB程序,Ruby读Access中500条数据和VB读取Access中40000条数据时间竟然基本相同,看来处理数据有的时候不适合用Ruby。当然这只是个人在实际开发中碰到的事,如果有理解错误的地方,还望不吝留言赐教。