Oho! Here is a clue. I removed
odbc_cursortype => 2
from the DBI->connect attributes. Now the error is trapped!
The output was:
handle_error: $state is "42000".
handle_error: $msg is "[Microsoft][ODBC SQL Server Driver][SQL
Server]An error was raised. Input was "Some input parameter".".
handle_error: $native is "50000".
After execute: $retval is "55".
After execute: $p1 is "Some input parameter".
After execute: $p2 is "75".
Done.
Now I wonder a) why I put odbc_cursortype=>2 in there in the first place
(I've been doing that for years), and b) why that breaks things.
-- Eric