Sepertinya SID dan nama layanan Anda tidak sama. Di SQL Developer Anda tampaknya menggunakan SID - setidaknya di URL JDBC khusus yang Anda tunjukkan - seperti yang dilambangkan dengan titik dua di :vdbsl4
.
URL SQLcl Anda menggunakan nama layanan, seperti yang dilambangkan dengan garis miring di /vdbsl14
. Menggunakan SID sebagai gantinya (yaitu mengubah / menjadi :) di URL itu akan berfungsi karena menggunakan JDBC:
sqlcl username/[email protected]:1521:vdbsl14
Atau (dan lebih disukai, menurut saya) cari tahu apa nama layanan Anda sebenarnya. Jika Anda memiliki hak yang cukup pada database, Anda dapat melakukan show parameters service_names
dari SQL Devleoper, atau jika Anda memiliki akses ke server sebagai DBA, Anda dapat melakukan lsnrctl services
, atau bahkan lihat tnsnames.ora
jika ada alias TNS yang ditentukan yang menunjukkan nama layanan. (listener.ora
sepertinya tidak membantu, tetapi dapat memberikan petunjuk atau jika Anda beruntung, tunjukkan nama layanan default).
Anda dapat menggunakan nama layanan itu di URL JDBC, sebagai /service_name
.
Anda juga dapat menggunakan alias TNS dari SQLcl (atau SQL*Plus). Anda mungkin sudah memiliki tnsnames.ora
tersedia; jika tidak, Anda mungkin dapat menyalinnya dari server Anda, atau membuatnya sendiri. Itu bisa merujuk ke SID atau nama layanan.
Anda bahkan dapat memberikan deskripsi TNS lengkap ke SQL*Plus (tidak yakin tentang SQLcl) tapi itu agak tidak menyenangkan. Jika Anda tidak memiliki/menginginkan tnsnames.ora
Anda dapat menggunakan sintaks 'sambungan mudah', yang sama seperti yang Anda gunakan untuk SQLcl - tetapi memiliki menjadi nama layanan, itu tidak mengizinkan SID.