Synopses tend not to include things like error checking. So you should have kept the 'or die $dbh->errstr()' from your original example. Then you would have had a better error message than the one you received. Even better, RaiseError makes DBI error checking simple...look in the DBI docs for it.