Unfortunately I can give you no help with Access, and I don't know if Access support commit and rollback ... sorry, Don't you have any other DB to test you script with?. Anyway, For the other questions:
AutoCommit is a database handler attribute: from the DBI man page: "If true, then database changes cannot be rolled-back (undone). If false, then database changes automatically occur within a "transaction", which must either be committed or rolled back using the commit or rollback methods.": you can read further details in
DBI man page. You can set AutoCommit in the connect statement in the same way as you set RaiseError, for example:
my $dbh = DBI->connect(
"DBI:ODBC:$databaseName",
{
AutoCommit => 0,
RaiseError => 1
}
)
or die "cannot connect to Oracle!";
You can perform an explicit commit on the database simply saying:
$dbh->commit; # or call $dbh->rollback; to undo changes
This makes sense only when you turn AutoCommit off.
You can do a commit after every INSERT to see if it works, but this may be time consuming, so you may decide to commit every 10 or 50 INSERT, or whatever is suitable for your application.
marcos