You may want to try using Win32::ODBC. Or if you wish to stick to using DBI, you may want to use ODBC instead of ADO...OR take grep's advice - take out the semicolon.
$dbh = DBI->connect("dbi:ADO:$database",$user, $password)
or die "Cannot connect: $DBI::errstr\n";
$dbh->disconnect();