sql >> Database >  >> RDS >> Oracle

Waarom kan ik geen verbinding maken via jdbc met SQLcl

Het lijkt erop dat uw SID en servicenaam niet hetzelfde zijn. In SQL Developer lijkt het erop dat u de SID gebruikt - althans in de aangepaste JDBC-URL die u liet zien - zoals aangegeven door de dubbele punt in :vdbsl4 .

Uw SQLcl-URL gebruikt de servicenaam, zoals aangegeven door de schuine streep in /vdbsl14 . Het gebruik van de SID in plaats daarvan (d.w.z. het wijzigen van de / naar :) in die URL zou moeten werken omdat het JDBC gebruikt:

sqlcl username/[email protected]:1521:vdbsl14

Als alternatief (en bij voorkeur, naar mijn mening) zoek je uit wat je servicenaam eigenlijk is. Als u voldoende privileges heeft op de database, kunt u show parameters service_names van SQL Devleoper, of als u toegang hebt tot de server als DBA, kunt u lsnrctl services doen , of kijk zelfs naar de tnsnames.ora in het geval dat er een TNS-alias is gedefinieerd die de servicenaam weergeeft. (listener.ora zal waarschijnlijk niet helpen, maar kan hints geven of, als je geluk hebt, een standaard servicenaam tonen).

U kunt die servicenaam gebruiken in een JDBC-URL, als /service_name .

U kunt ook een TNS-alias uit SQLcl (of SQL*Plus) gebruiken. Je hebt misschien al een tnsnames.ora verkrijgbaar; zo niet, dan kun je het misschien van je server kopiëren of je eigen maken. Dat kan verwijzen naar de SID of de servicenaam.

Je kunt zelfs een volledige TNS-beschrijving doorgeven aan SQL*Plus (niet zeker van SQLcl), maar dat is een beetje onaangenaam. Als je geen tnsnames.ora . hebt/wilt je kunt de 'easy connect'-syntaxis gebruiken, die hetzelfde is als je gebruikt voor SQLcl - maar dat heeft om de servicenaam te zijn, staat het geen SID's toe.




  1. Laatste versies, edities en SQL Server-geschiedenis van SQL Server

  2. cc1:fout:niet-herkende opdrachtregeloptie -Wno-null-conversie bij het installeren van python-mysql op mac 10.7.5

  3. Hoe krijg ik in SSIS het aantal rijen teruggestuurd van de Bron die MOETEN worden verwerkt?

  4. Alle andere oplossingen voor SQL's De mediaset heeft 2 mediafamilies, maar er is er maar 1 beschikbaar. Alle leden moeten worden verstrekt. fout?