se você usa setUrl (ou se o seu container como o glassfish faz isso)
certifique-se de usar a sintaxe correta
====Observe os dois pontos antes de @ ====
jdbc:oracle:thin:@localhost:1521:sid
ou
jdbc:oracle:thin:@localhost:1521/servicename
A classe de fonte de dados tenta analisá-lo e fornece um erro enigmático se a sintaxe tiver problemas