川合孝典です。
----- Original Message -----
From: "Zazel" <zazel@...>
To: <TSfree@...>
Sent: Tuesday, June 10, 2003 7:48 PM
Subject: [TSfree:461] Re: Accessへのアクセス
> Zazelです。
>
> > Accessのデータを加工したいのですが、文字列データを読み出して一部置換処
> > 理して戻したいのです。
> >
> > このような用途には何を使うのが便利でしょう。
>
> 試したことはないけど、Perlでuse OLE または Rubyでrequire "win32ole"。
Win32::OLEでDAOやADOを使ってアクセスすることもできますが
- DBI + DBD::ODBC
- Win32::ODBC
のほうが一般的でしょう。
#一応全部、本のネタでやったことがありますが
Windows以外であればMDBTOOLSあたりでテキストに落として
加工するとか(^^;;;
[サンプル(DBI、Win32::ODBC)]
use strict;
use DBI;
use Win32::ODBC;
my $DSN =
'driver=Microsoft Access Driver (*.mdb);dbq=c:\\temp\\test.mdb';
my $hDb = DBI->connect("dbi:ODBC:$DSN", '','',
{RaiseError=>1, AutoCommit=>1}) or die "$DBI::errstr\n";
my $hSt = $hDb->prepare('SELECT * FROM tblTest');
$hSt->execute();
while(my $raData = $hSt->fetchrow_arrayref()) {
print join(':', @$raData), "\n";
}
$hSt->finish();
$hDb->disconnect;
# 2. ODBC オブジェクトの作成(接続)
print "===========Win32::ODBC=================\n";
use Win32::ODBC;
my $hODBC = new Win32::ODBC($DSN,
Win32::ODBC->SQL_AUTOCOMMIT,
Win32::ODBC->SQL_AUTOCOMMIT_OFF) ||
die(Win32::ODBC::Error());
$hODBC->Sql('SELECT * FROM tblTest');
while ($hODBC->FetchRow()){
print join(':', $hODBC->Data()), "\n";
}
$hODBC->Close();
===================================================
川合 孝典 (Hippo2000)
DBI日本語メーリングリスト管理人、Kansai.pm所属
kwitknr@... GCD00051@...
http://member.nifty.ne.jp/hippo2000、http://www.hippo2000.info/
perldocの日本語情報ならperldocjp:翻訳してみませんか?
http://perldocjp.sourceforge.jp/
===================================================