The best way to talk to an Access database is through
ADO (ActiveX Data Objects). If you have ever used
ADO in VB or ASP, then you already really know how to
use it!
use Win32::OLE;
use Win32::OLE::Const 'Microsoft ActiveX Data Objects';
my $conn = Win32::OLE->new('ADODB.Connection');
my $rs = Win32::OLE->new('ADODB.Recordset');
$conn->open('MIS'); # this opens an existing DSN connection
$rs = $conn->execute('Select * From BackUpLog Order By DateTimeSta
+mp;');
$rs->MoveFirst;
while (!$rs->eof) {
my $DTStamp = $rs->Fields('DateTimeStamp')->value;
print "The DateTimeStamp is $DTStamp!\n" if ($DTStamp);
$rs->MoveNext;
}
# trap any errors with the Win32::OLE->LastError() object
print "That didn't go so well: ", Win32::OLE->LastError(), "\n" if
+ (Win32::OLE->LastError());
$rs->close if ($rs); # always make sure you close both the records
+et
$conn->close if ($conn); # and the connection itself
That should give you the idea. I have used it for several projects and it
honestly seems as fast as the 'Native' use in ASP.
hth,
Maurice |