Wygląda na to, że Twój identyfikator SID i nazwa usługi nie są takie same. W SQL Developer wydaje się, że używasz identyfikatora SID - przynajmniej w niestandardowym adresie URL JDBC, który pokazałeś - jak oznaczono dwukropkiem w :vdbsl4
.
Twój adres URL SQLcl używa nazwy usługi oznaczonej ukośnikiem w /vdbsl14
. Zamiast tego użycie identyfikatora SID (tj. Zmiana / na :) w tym adresie URL powinno działać, ponieważ używa JDBC:
sqlcl username/[email protected]:1521:vdbsl14
Ewentualnie (i najlepiej moim zdaniem) dowiedz się, jaka jest nazwa Twojej usługi. Jeśli masz wystarczające uprawnienia do bazy danych, możesz zrobić show parameters service_names
z SQL Devleoper, lub jeśli masz dostęp do serwera jako DBA, możesz wykonać lsnrctl services
, a nawet spójrz na tnsnames.ora
w przypadku zdefiniowania aliasu TNS, który pokazuje nazwę usługi. (listener.ora
prawdopodobnie nie pomoże, ale może dać wskazówki lub, jeśli masz szczęście, pokazać domyślną nazwę usługi).
Możesz użyć tej nazwy usługi w adresie URL JDBC, jako /service_name
.
Możesz również użyć aliasu TNS z SQLcl (lub SQL*Plus). Być może masz już plik tnsnames.ora
do dyspozycji; jeśli nie, możesz skopiować go ze swojego serwera lub stworzyć własny. Może to odnosić się do identyfikatora SID lub nazwy usługi.
Możesz nawet przekazać pełny opis TNS do SQL*Plus (nie jestem pewien co do SQLcl), ale jest to trochę nieprzyjemne. Jeśli nie masz/nie chcesz tnsnames.ora
możesz użyć składni „easy connect”, która jest taka sama, jak w przypadku SQLcl — ale ta ma jako nazwa usługi, nie zezwala na identyfikatory SID.