Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Dlaczego nie mogę połączyć się przez jdbc za pomocą SQLcl

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.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Talend etl błąd oracle 0 wstaw wiersz

  2. Projekt bazy danych planowania lekarza

  3. jak wstawić długi ciąg oracle clob lub blob?

  4. Automatyczna inkrementacja w Oracle bez użycia wyzwalacza

  5. Jak mogę połączyć Flutter (Dart) z moim serwerem Oracle? Czy ktoś próbował tego?