ruby常规访问access数据库的方法应该是使用DBI库 : require 'dbi' DBI.connect(DBI:ADO:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db.mdb;) 可是 简单尝试之后没能成功,提示找不到驱动器ADO,懒得再试,遂找其他方法。 一番搜索之后,发现可以用WIN32O

ruby常规访问access数据库的方法应该是使用DBI库

可是简单尝试之后没能成功,提示找不到驱动器ADO,懒得再试,遂找其他方法。

一番搜索之后,发现可以用WIN32OLE来访问access,写一个简单的类包装之:

使用方法如下:

db=AccessDb.new('f:/db.mdb')

db.open

db.query('select * from foods')

db.fields

db.data

db.execute("insert into foods values (3,'xxx',299,'xo','good!');"

db.close

下面再给出使用ruby压缩修复access数据库的例子:


比如要求压缩db.mdb文件,压缩后的文件名为new_db.mdb操作如下:

fixaccess('f:/db.mdb','f:/new_db.mdb')

方法fixaccess中的sp在安装了office2007的系统上测试成功,其他版本

的office可能要修改sp中的Provider.


09-16 20:30