in reply to DBD::TSM says Invalid user id or password

This isn't really an answer but maybe a start. I spent some time debugging it. I couldn't replicate your error; however, I did have a problem with getting $sth->dump_results(); to work---it wouldn't work for me. Another other problem was that I had to set the env var for my dbi_driver. Maybe this will help.
#!/usr/bin/perl use strict; use warnings; use DBI; use DBD::TSM; $ENV{'DBI_DRIVER'} = "DBM"; $ENV{'DSM_DIR'} = "/opt/tivoli/tsm/client/ba/bin/"; $ENV{'DSMADMC'} = "dsmadmc"; $ENV{'DSM_CONFIG'} = $ENV{'DSM_DIR'} . "dsm.sys"; my @drivers = DBI->available_drivers; print join( ",", @drivers ), "\n"; eval { my ( $server_name, $user, $password ) = ( "enigsy-ser-backup-01", "user", "password" ); }; my $dbh = DBI->connect( "DBD:TSM:enigsy-ser-backup-01", 'user', 'password', { RaiseError => 0, PrintError => 0 } ) or die $DBI::errstr; my $sth = $dbh->prepare("INSERT INTO foo VALUES (1, 2, 3)"); $sth->execute() or die $sth->errstr(); print @{ $sth->{NAME} }, "\n"; $dbh->disconnect or warn $dbh->errstr;