Parece que seu SID e nome de serviço não são os mesmos. No SQL Developer, você parece estar usando o SID - pelo menos no URL JDBC personalizado que você mostrou - conforme indicado pelos dois pontos em
:vdbsl4
. Seu URL SQLcl está usando o nome do serviço, conforme indicado pela barra em
/vdbsl14
. Usar o SID em vez disso (ou seja, alterar / para :) nesse URL deve funcionar, pois está usando JDBC:sqlcl username/[email protected]:1521:vdbsl14
Alternativamente (e de preferência, na minha opinião) descubra qual é realmente o nome do seu serviço. Se você tiver privilégios suficientes no banco de dados, você pode fazer
show parameters service_names
do SQL Devleoper, ou se você tiver acesso ao servidor como DBA, você pode fazer lsnrctl services
, ou até mesmo veja o tnsnames.ora
caso haja um alias TNS definido que mostre o nome do serviço. (listener.ora
provavelmente não ajudará, mas pode dar dicas ou, se você tiver sorte, mostrar um nome de serviço padrão). Você pode usar esse nome de serviço em uma URL JDBC, como
/service_name
. Você também pode usar um alias TNS do SQLcl (ou SQL*Plus). Você já pode ter um
tnsnames.ora
acessível; caso contrário, você poderá copiá-lo do seu servidor ou criar o seu próprio. Isso pode se referir ao SID ou ao nome do serviço. Você pode até passar uma descrição completa do TNS para o SQL*Plus (não tenho certeza sobre o SQLcl), mas isso é um pouco desagradável. Se você não tem/quer um
tnsnames.ora
você pode usar a sintaxe 'easy connect', que é a mesma que você está usando para SQLcl - mas que tem para ser o nome do serviço, ele não permite SIDs.