in reply to Execute stored procedure with freetd

Probably means your DBD isn't returning a number of rows. See perldoc DBI where it discusses the rows() method and it explains when it may return -1.