Quando há caracteres especiais no nome de usuário, senha ou string de conexão como
@ , / etc., temos que incluí-lo entre aspas duplas, por exemplo, se a senha for example@sqldat.com nos conectamos no sqlplus como username/"example@sqldat.com"@database Você pode tentar o mesmo em java colocando sua senha entre aspas duplas usando caracteres de escape, tente alterar
String pwd = "example@sqldat.com";
para
String pwd = "\"example@sqldat.com\"";
Eu não sou um especialista em java, apenas imaginei que o caractere scape deveria ser
\;-)