Det verkar som om ditt SID och tjänstnamn inte är samma. I SQL Developer verkar du använda SID - åtminstone i den anpassade JDBC URL som du visade - som betecknas med kolon i :vdbsl4
.
Din SQLcl-URL använder tjänstens namn, som anges med snedstrecket i /vdbsl14
. Att använda SID istället (dvs. ändra / till :) i den URL:en borde fungera eftersom den använder JDBC:
sqlcl username/[email protected]:1521:vdbsl14
Alternativt (och helst, enligt min mening) ta reda på vad ditt tjänstnamn faktiskt är. Om du har tillräckliga privilegier på databasen kan du show parameters service_names
från SQL Devleoper, eller om du har tillgång till servern som DBA kan du göra lsnrctl services
, eller till och med titta på tnsnames.ora
om det finns ett TNS-alias definierat som visar tjänstens namn. (listener.ora
kommer sannolikt inte att hjälpa, men kan ge tips eller om du har tur visa ett standardtjänstnamn).
Du kan använda det tjänstnamnet i en JDBC-URL, som /service_name
.
Du kan också använda ett TNS-alias från SQLcl (eller SQL*Plus). Du kanske redan har en tnsnames.ora
tillgängligt; annars kanske du kan kopiera den från din server eller skapa din egen. Det kan referera till SID eller tjänstens namn.
Du kan till och med skicka en fullständig TNS-beskrivning till SQL*Plus (osäker på SQLcl) men det är lite obehagligt. Om du inte har/vill ha en tnsnames.ora
du kan använda 'lätt anslutning'-syntax, vilket är samma som du använder för SQLcl - men det har för att vara tjänstens namn tillåter det inte SID.