sql >> Databáze >  >> RDS >> Oracle

Proč se nemohu připojit přes jdbc pomocí SQLcl

Zdá se, že vaše SID a název služby nejsou stejné. V SQL Developer se zdá, že používáte SID - alespoň ve vlastní JDBC URL, které jste ukázali - jak je označeno dvojtečkou v :vdbsl4 .

Vaše adresa URL SQLcl používá název služby, jak je označeno lomítkem v /vdbsl14 . Použití SID místo toho (tj. změna / na :) v této URL by mělo fungovat, protože používá JDBC:

sqlcl username/[email protected]:1521:vdbsl14

Případně (a podle mě nejlépe) si zjistěte, jak se vaše služba vlastně jmenuje. Pokud máte dostatečná oprávnění k databázi, můžete show parameters service_names z SQL Devleoper, nebo pokud máte přístup k serveru jako DBA, můžete provést lsnrctl services nebo se dokonce podívejte na tnsnames.ora v případě, že je definován alias TNS, který zobrazuje název služby. (listener.ora pravděpodobně nepomůže, ale mohl by poskytnout rady nebo, pokud budete mít štěstí, ukázat výchozí název služby).

Tento název služby můžete použít v adrese URL JDBC jako /service_name .

Můžete také použít alias TNS z SQLcl (nebo SQL*Plus). Možná již máte tnsnames.ora dostupný; pokud ne, můžete jej zkopírovat ze svého serveru nebo vytvořit svůj vlastní. To může odkazovat na SID nebo název služby.

Dokonce můžete SQL*Plus předat úplný popis TNS (nejste si jisti SQLcl), ale to je trochu nepříjemné. Pokud nemáte/nechcete tnsnames.ora můžete použít syntaxi „easy connect“, která je stejná jako pro SQLcl – ale jako název služby nepovoluje SID.




  1. Mohu příkazy dry run/sandbox sql?

  2. Spark SQL a MySQL – SaveMode.Overwrite nevkládá upravená data

  3. Chyba při přístupu k EntityManager - openjpa - WAS liberty profile

  4. Jak provedu IF...THEN v SQL SELECT?