Debug stagewise. If you think the DB is corrupt then why don't you just... Open the database in Microsoft Access, click on the 'Tools' menu and select 'Database Utilities -> Compact and Repair Database'. That will do the repair (if needed) for you.
Next see if you can do a SELECT * from table WHERE lastname LIKE 'A%' directly in Access. This should show you all the lastname A's in your table. If this works then try it with DBI and see if it flies.
If it still does not work then details of you code would be useful. Are you checking return values for instance? Is it a simple time out issue due to a huge return of names? Have you added some print's so you know exactly which line of code is causing the hang?
use CGI;
use DBI;
my $q = new CGI;
my $debug = 1;
$debug && print $q->header;
$debug && print '<pre>';
$debug && print "connecting.....\n";
my $dbh = DBI->connect(.....);
$debug && print "connected\n";
# yada yada
What files are left in your cgi-bin. Where is the DB located. What version of Access, DBI, DBD-OBCD, Perl, Apache. yada yada
There are not a lot of good resons to use a DB as pedestrian as M$ Access for anything serious IMHO. Have you considered using something (almost anything) else? There is a good port of MySQL for Win32 for desktop use and this DB is also proven to work well on the web. Access is not M$ flagship product, SQL Server is so Access is effectively the Windows XP Home of databases. Actually probably the WinME or Win3.0 would be more accurate.
cheers
tachyon
s&&rsenoyhcatreve&&&s&n.+t&"$'$`$\"$\&"&ee&&y&srve&&d&&print
|