Unable to get catalog string error

Connectivity
Enthusiast

Unable to get catalog string error

Get this error when inserting a row into a table with Perl/DBI/ODBC. Other functionality works, such as inserting a row with 'do'.

This Works:
$dbh->do(<<EOM) or die "insert failed";
INSERT INTO $DBNAME.CR_DATA_DICT_EXTRCT
('$reldate',0,NULL,'BASE','ISIS');
EOM
;

This Doesnt Work:
my $stm = $dbh->prepare(<<EOM) or die "prepare failed";
INSERT INTO $DBNAME.CR_DATA_DICT_EXTRCT
(RELEASE_DATE,ID,PARENT_ID,ATTR_NAME,ATTR_VALUE)
VALUES (?,?,?,?,?)
EOM
;

$stm->execute($reldate,$id,$pid,$thing->{type},$thing->{name});

DBD::ODBC::st execute failed: [NCR][ODBC Teradata Driver] Unable to get catalog string. (SQL-22018)(DBD: st_execute/SQLExecute err=-1)

This is the table definition:
CREATE SET TABLE EDW_TPE_DEV_DB.CR_DATA_DICT_EXTRCT ,NO FALLBACK ,
NO BEFORE JOURNAL,
NO AFTER JOURNAL,
CHECKSUM = DEFAULT
(
RELEASE_DATE DATE FORMAT 'YYYYMMDD' NOT NULL,
ID INTEGER NOT NULL,
PARENT_ID INTEGER,
ATTR_NAME VARCHAR(20) CHARACTER SET LATIN NOT CASESPECIFIC,
ATTR_VALUE VARCHAR(255) CHARACTER SET LATIN NOT CASESPECIFIC)
UNIQUE PRIMARY INDEX ( RELEASE_DATE ,ID );