Изглежда, че вашият SID и името на услугата не са еднакви. В SQL Developer изглежда използвате SID - поне в персонализирания JDBC URL адрес, който показахте - както е отбелязано с двоеточие в :vdbsl4
.
Вашият SQLcl URL използва името на услугата, както е отбелязано с наклонената черта в /vdbsl14
. Използването на SID вместо това (т.е. промяната на / на :) в този URL трябва да работи, тъй като използва JDBC:
sqlcl username/[email protected]:1521:vdbsl14
Като алтернатива (и за предпочитане според мен) разберете какво всъщност е името на вашата услуга. Ако имате достатъчно привилегии в базата данни, можете да направите show parameters service_names
от SQL Devleoper, или ако имате достъп до сървъра като DBA, можете да правите lsnrctl services
, или дори да погледнете tnsnames.ora
в случай че има дефиниран TNS псевдоним, който показва името на услугата. (listener.ora
няма вероятност да помогне, но може да даде подсказки или ако имате късмет, покажете име на услуга по подразбиране).
Можете да използвате това име на услуга в JDBC URL като /service_name
.
Можете също да използвате TNS псевдоним от SQLcl (или SQL*Plus). Може вече да имате tnsnames.ora
на разположение; ако не, може да можете да го копирате от вашия сървър или да създадете свой собствен. Това може да се отнася до SID или името на услугата.
Можете дори да подадете пълно TNS описание към SQL*Plus (не съм сигурен за SQLcl), но това е малко неприятно. Ако нямате/искате tnsnames.ora
можете да използвате синтаксис „лесно свързване“, който е същият като този, който използвате за SQLcl – но това има за да бъде името на услугата, то не позволява SID.