Re: [External] : Re: SQLcl Connection
Date: Mon, 23 Aug 2021 20:05:31 +0000 (UTC)
Message-ID: <630846709.775786.1629749131241_at_mail.yahoo.com>
Hi Kris,
Yes, adding the port number avoids the hang (with or without // before the hostname). The database is using the default (1521) but I can specify this to avoid the problem.
Many thanks for the suggestion.
Charlotte
On Monday, August 23, 2021, 08:18:52 PM GMT+1, kris rice <kris.rice_at_jokr.net> wrote:
Based on the stack. This issue is whatever the jdbc driver is doing to parse apart the ezconnect syntax
Structurally these are the same so it doesn't make sense one would work and one not which is confusing
>> sql charlotte/mypassword_at_myhost/MYSID <-- connects fine
>> sql charlotte/wrongpassword_at_myhost/MYSID <-- hangs
Does this work? sql charlotte/wrongpassword_at_//myhost:1521/MYSID ?
-kris
- ..... at java.util.regex.Matcher.matches(Matcher.java:604)
- at oracle.net.resolver.EZConnectResolver.resolveToLongURLFormat(EZConnectResolver.java:203)
- at oracle.net.resolver.EZConnectResolver.parse(EZConnectResolver.java:182)
- at oracle.net.resolver.EZConnectResolver.<init>(EZConnectResolver.java:130)
- at oracle.net.resolver.EZConnectResolver.newInstance(EZConnectResolver.java:139)
- at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:685)
- at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:572)
- at java.sql.DriverManager.getConnection(DriverManager.java:664)
On Mon, Aug 23, 2021 at 3:00 PM Charlotte Hammond <charlottejanehammond_at_yahoo.com> wrote:
Thanks for looking at that Kris! Very much appreciated I followed the link and found version 21.2.223.0914, which is the version the jstack output is from (downloaded from Jeff's link earlier). So, unless I misunderstand you, it still seems to be a problem in the newer version. Why is it that the parsing goes into an infinite loop only if the password (or username or service) is wrong? Isn't it finished parsing the TNS string by the time it sends the password to the database? Thank you!Charlotte
On Monday, August 23, 2021, 07:32:29 PM GMT+1, kris rice <kris.rice_at_jokr.net> wrote:
grr That says there's a bug in the jdbc driver's parsing of the tns string sending it into an infinite loop ! I'd grab a newer version and that should be fixed with the newer driver. Since there's now no-click licenses you can just curl/wget/download this url directly > https://download.oracle.com/otn_software/java/sqldeveloper/sqlcl-latest.zip
-kris
On Mon, Aug 23, 2021 at 2:23 PM Charlotte Hammond <charlottejanehammond_at_yahoo.com> wrote:
Thanks Jeff & Kris,
I've just tried 21.2.2 but am getting the same result as for 19.1.
The jstack output (for 21.2.2) is at 2021-08-23 19:08:22Full thread duimp Java HotSpot(TM) 64-Bit Server VM (25.261- - Pastebin.com
I had a quick look at the sqlnet trace output - there was nothing blazingly obvious but I'm not really sure what to look for. There are plenty on this list far more knowledgeable so happy to put that up too (will have a look at comparing a successful connection with a hang).
Thank you!Charlotte
On Monday, August 23, 2021, 06:01:51 PM GMT+1, Jeff Smith <jeff.d.smith_at_oracle.com> wrote:
Just a heads-up in case you’re running into an old bug, 19.1 came out in April of 2019…latest release is 21.2.2 – came out a few weeks ago. Might be worth a quick try.
https://www.oracle.com/tools/downloads/sqlcl-downloads.html
You SHOULD see something like this –
HR_at_orcl> disconnect
Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
HR_at_orcl> connect hr/badpassword
USER = hr
URL = jdbc:oracle:thin:_at_localhost:1521/orcl
Error Message = ORA-01017: invalid username/password; logon denied
USER = hr
URL = jdbc:oracle:thin:_at_localhost:1521/xe
Error Message = Listener refused the connection with the following error:
ORA-12514, TNS:listener does not currently know of service requested in connect descriptor
(CONNECTION_ID=ru2FXBRqQ4y3MMPpLf0TCw==)
HR_at_orcl>
1:0 ¦ NOLOG ¦ NOLOG ¦ viins ¦ NOLOG ¦ NOLOG
From: oracle-l-bounce_at_freelists.org <oracle-l-bounce_at_freelists.org>On Behalf Of kris rice
Sent: Monday, August 23, 2021 11:32 AM
To: charlottejanehammond_at_yahoo.com
Cc: Oracle List <oracle-l_at_freelists.org>
Subject: [External] : Re: SQLcl Connection
That's curious. We do nothing but sling it over to the db then return when the db is connected of failed with a message back.
2 options if you have time...
1- when it's hung, run jstack - p <pid> and float it over to me
2- sqlnet tracking to see what the db is doing.
-kris
On Mon, Aug 23, 2021 at 10:37 AM Charlotte Hammond <dmarc-noreply_at_freelists.org> wrote:
Hello,
I have only just started playing with SQLcl (version 19.1 on Linux) and have hit an oddity - just want to check if this is expected?
sql charlotte/mypassword_at_myhost/MYSID <-- connects fine
sql charlotte/wrongpassword_at_myhost/MYSID <-- hangs
Is it meant to hang if I get my password wrong? It looks like a bug (or at least a misconfiguration) but since I'm new I want to make sure I'm not overlooking something obvious.
Verbose mode shows nothing after:
INFO: Attempting to connect using URL= "jdbc:oracle:oci8:_at_myhost:MYSID"
The hang also happens if I get the username or service wrong (it errors if the host is wrong). And it's the same if I use nolog and then the connect command.
Thank you!
Charlotte
-- http://www.freelists.org/webpage/oracle-lReceived on Mon Aug 23 2021 - 22:05:31 CEST