Nearly 7,000,000 Oracle professionals use SQL Developer on a regular basis. Have a question about Oracle SQL Developer? Searched this blog and couldn’t find the answer? Ask away!
If your question is about Oracle Database, SQL, PL/SQL, etc – go Ask Tom!
Feel free to ask anything you want, but I’ll feel free to send you to Support or our Forums if it goes sideways.
Note: This page has turned out way more successful(?) than I would have ever imagined. Please keep these things in mind when asking questions.
- I am NOT support. Don’t expect me to log bugs for you, or give you official timelines on bug fixes, enhancements, or product releases.
- I AM NOT SUPPORT. Don’t open an SR with My Oracle Support AND leave a question here. Pick one and go with it, and when in doubt, go to My Oracle Support.
- I try to answer questions as quickly as possible. If you don’t get an answer, ask me for an update. I may have just forgotten or overlooked your request.
Go!
8,254 Comments
Could you help me to understand when I should, or what it means or implies, when I explicitly attach privileges to an authorization (Grant type = client credentials) next to attaching roles? I can’t figure it out or find an explanation in the documentation. I can’t leave out the roles, but I can leave out the privileges, to make it work.
Thanks in advance, appreciate the way you support all this!
Just to make sure I understand:
The situation is as you describe it, yes, and I can make things work just fine, but I can’t figure out or explain to others when to assign a privilege directly to the OAuth2 client, or not. It seems arbitrary, because I can leave it out or not; just the roles need to be tied to OAuth2 client. And the documentation just states that a privilege can be assigned directly to the OAuth2 client, but not why or when that should be done or not.
If Client Credentials workflow, you must grant the client ords privileges. Those are treated as SCOPE.
But, if you’re talking 3 legged oauth2, then you don’t use scopes, the privs are ignored, they won’t ever work. You have to use Roles.
Hi Jeff,’
I have connection issue when using TCPS with sql developer (vscode 26.2.1). When right click on the connection ->Open SQLcl
ORA-17967: SSL Handshake failure
DBTS-02000: An error occurred when attempting to connect to the database. The following error occurred: ORA-17967: SSL Handshake failure.: (handshake_failure) .
When run from terminal in vscode some warnings but sqlcl connect:
& “C:\Users\Lars\.vscode\extensions\oracle.sql-developer-26.2.1-win32-x64\dbtools\bin\dbtools.exe” sql
Picked up JAVA_TOOL_OPTIONS: -Djavax.net.debug=ssl,handshake,trustmanager
SQLcl: Release 26.2 Production on ons sep. 09 10:35:03 2026
Copyright (c) 1982, 2026, Oracle. All rights reserved.
Username? (”?) lars@tls
Password? (**********?) *
WARNING: A restricted method in java.lang.System has been called
WARNING: java.lang.System::loadLibrary has been called by oracle.jdbc.driver.T2CConnection$1 in module com.oracle.database.jdbc (file:/C:/Users/Lars/.vscode/extensions/oracle.sql-developer-26.2.1-win32-x64/dbtools/sqlcl/lib/ojdbc11-23.26.2.0.0.jar)
WARNING: Use –enable-native-access=com.oracle.database.jdbc to avoid a warning for callers in this module
WARNING: Restricted methods will be blocked in a future release unless native access is enabled
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 – Production
Version 19.31.0.0.0
SQL>
It works when I´m using sqlcl, sqlplus from cmd prompt and sql developer version 24.3.1.347.
Could it be issue with vscode reading wallet configuration, jdbc etc ? All tips are more than welcome.
Regards
/Lars
Is the connection working from the SQLDev VS Code extension?
Hi,
None of the TLS connection works from SQLDEV VS Code,
Workaround/update: I noticed https://forums.oracle.com/ords/apexds/post/ssl-handshake-issue-1859
Downgraded SQL DEV from 26.2.1 to 25.4
In TNS_ADMIN folder created file ojdbc.properties
added line: oracle.net.wallet_location=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=path_to_wallet)))
Conneciton works.
Updated to 26.2.1 -> connection failed
[09/10/26, 12:36:50.781] [dbtools-ext ] [INFO ] Activating Oracle SQL Developer for VSCode…
[09/10/26, 12:36:50.854] [dbtools-client ] [INFO ] Starting server…
[09/10/26, 12:36:50.876] [dbtools-client ] [INFO ] Server startup initiated
[09/10/26, 12:36:53.774] [dbtools-client ] [INFO ] Server ‘Oracle SQL Developer for VS Code’ 26.2.1 running at http://localhost:54243/
[09/10/26, 12:36:53.774] [dbtools-client ] [INFO ] Language Services connecting at http://localhost:54243/20221610/language-server/oracle-sql/socket
[09/10/26, 12:36:53.780] [dbtools-client ] [INFO ] Language Services Websocket Created (oracle-sql)
[09/10/26, 12:36:53.938] [dbtools-client ] [INFO ] Language Services connecting at http://localhost:54243/20221610/language-server/apexlang/socket
[09/10/26, 12:36:53.941] [dbtools-client ] [INFO ] Language Services Websocket Created (apexlang)
[09/10/26, 12:36:57.591] [dbtools-ext ] [INFO ] Oracle SQL Developer for VSCode has been activated
[09/10/26, 12:36:57.623] [SQLcl MCP Server] [INFO ] SQLcl MCP Server Initialized
[09/10/26, 12:37:21.843] [Connection Dialog] [ERROR] Failed action details
{
“action”: “Test”,
“connection”: {
“name”: “lars_tls”
},
“error”: {
“errorCode”: “DBTS-02000”,
“message”: “An error occurred when attempting to connect to the database”,
“cause”: “The following error occurred: ORA-17967: SSL Handshake failure.: (handshake_failure) Received fatal alert: handshake_failure (CONNECTION_ID=IaTv0RheTQ+VI0RaeqqQmA==)\r\nhttps://docs.oracle.com/error-help/db/ora-17967/”,
“action”: “Consult your database documentation for information on how to resolve the specified error code”,
“rootCause”: {
“errorCode”: “DBTS-02000”,
“message”: “An error occurred when attempting to connect to the database”,
“cause”: “The following error occurred: ORA-17967:
Please let me know if you want rest of the log.
Regards
Lars
Yes to complete log, and I need to see how your connection is defined.
Both the working one in sqlcl and the non-working one in sqldev/vscode.
If you manually make connection in sqlcl, and the use the connect -save ConnName
and then restart sqldev extension and try to use that connection (vs the one you created via connection dialog gui) – any difference?
Note for sqldev connectinon to work, it must be JDBC THIN.
Hi,
Sure, I guess it will be a long message…
Might be good to know, the errors only occurred when using TCPS connection. TCP work just fine.
sqlnet.ora and tnsnames.ora files are in TNS_ADMIN dir
sqlnet.ora is the same as the one on db_server except path to wallet…
WALLET_LOCATION =
(SOURCE =
(METHOD = FILE)
(METHOD_DATA =
(DIRECTORY = path_to_wallet)
)
)
SQLNET.AUTHENTICATION_SERVICES = (BEQ, TCPS)
SSL_CIPHER_SUITES = (SSL_RSA_WITH_AES_256_CBC_SHA)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
SSL_CLIENT_AUTHENTICATION = TRUE
SSL_VERSION = 1.2
#####
tnsnames.ora
TLS=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCPS)(HOST=db_host)(PORT=2484))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=service_name)))
#####
If I remove the oracle.net.wallet_location in ojdbc.propertis file TLS connection don´t work.
#####
VScode config
Connection Name: lars_tls
Connection type: TNS
Connect Identifier: TLS
SQL> show jdbc
— Database Info —
Database Product Name: Oracle
Database Product Version: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 – Production
Version 19.31.0.0.0
Database Major Version: 19
Database Minor Version: 31
— Driver Info —
Driver Name: Oracle JDBC driver
Driver Version: 23.7.0.25.01
Driver Major Version: 23
Driver Minor Version: 7
Driver URL: jdbc:oracle:thin:@TLS
Driver Location: Unable to locate resource /oracle/jdbc/OracleDriver.class
Updated extension -> 26.2.1
run sqlcl from terminal in vscode
PS C:\Users\lars> & “C:\Users\lars\.vscode\extensions\oracle.sql-developer-26.2.1-win32-x64\dbtools\bin\dbtools.exe” sql
SQLcl: Release 26.2 Production on fre sep. 11 09:31:36 2026
Copyright (c) 1982, 2026, Oracle. All rights reserved.
Username? (”?) lars@tls
Password? (**********?) *
WARNING: A restricted method in java.lang.System has been called
WARNING: java.lang.System::loadLibrary has been called by oracle.jdbc.driver.T2CConnection$1 in module com.oracle.database.jdbc (file:/C:/Users/lars/.vscode/extensions/oracle.sql-developer-26.2.1-win32-x64/dbtools/sqlcl/lib/ojdbc11-23.26.2.0.0.jar)
WARNING: Use –enable-native-access=com.oracle.database.jdbc to avoid a warning for callers in this module
WARNING: Restricted methods will be blocked in a future release unless native access is enabled
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 – Production
Version 19.31.0.0.0
SQL> exit
Right click on lars_tls connection -> Open SQLcl
[09/11/26, 09:00:16.089] [DBToolsServerApp(20248)] [INFO ] 2026-09-11T07:00:16.080Z INFO Error for: POST /20221610/databases/connections/sessions/
DBTS-02000: An error occurred when attempting to connect to the database
DBTS-02000: An error occurred when attempting to connect to the database. The following error occurred: ORA-17967: SSL Handshake failure.: (handshake_failure) Received fatal alert: handshake_failure (CONNECTION_ID=PSnn6vubQ8+5Vn2w3UJKOA==)
https://docs.oracle.com/error-help/db/ora-17967/. Consult your database documentation for information on how to resolve the specified error code.
at [email protected]/com.oracle.dbtools.utils.core.web.common.WebException.of(WebException.java:168)
at [email protected]/com.oracle.dbtools.utils.core.web.server.ErrorHandler.handleError(ErrorHandler.java:29)
at [email protected]/com.oracle.dbtools.utils.core.web.server.WebContainer.handleError(WebContainer.java:54)
at [email protected]/com.oracle.dbtools.utils.core.web.routes.Routes$Builder.lambda$new$0(Routes.java:155)
at [email protected]/com.oracle.dbtools.utils.core.actions.Actions.dispatch(Actions.java:98)
at [email protected]/com.oracle.dbtools.utils.core.web.routes.Routes$Resource.accept(Routes.java:715)
at [email protected]/com.oracle.dbtools.utils.core.web.routes.Routes$Resource.accept(Routes.java:696)
at [email protected]/com.oracle.dbtools.utils.core.web.routes.Routes.dispatch(Routes.java:110)
at [email protected]/com.oracle.dbtools.utils.core.actions.Actions$ImmutableRegistration.callIfMatches(Actions.java:351)
at [email protected]/com.oracle.dbtools.utils.core.actions.Actions.dispatch(Actions.java:91)
at [email protected]/com.oracle.dbtools.utils.core.web.server.EmbeddableComponent.dispatch(EmbeddableComponent.java:56)
at [email protected]/com.oracle.dbtools.utils.core.actions.Actions$ImmutableRegistration.callIfMatches(Actions.java:351)
at [email protected]/com.oracle.dbtools.utils.core.actions.Actions.dispatch(Actions.java:91)
at [email protected]/com.oracle.dbtools.utils.core.web.server.EmbeddableComponent.dispatch(EmbeddableComponent.java:56)
at [email protected]/com.oracle.dbtools.utils.core.web.server.EmbeddableContainer.dispatch(EmbeddableContainer.java:96)
at [email protected]/com.oracle.dbtools.utils.jetty.JettyWebServerBridge.handle(JettyWebServerBridge.java:83)
at [email protected]/org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1224)
at [email protected]/org.eclipse.jetty.server.Handler$Wrapper.handle(Handler.java:794)
at [email protected]/org.eclipse.jetty.server.handler.EventsHandler.handle(EventsHandler.java:81)
at [email protected]/org.eclipse.jetty.server.Server.handle(Server.java:197)
at [email protected]/org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:787)
at [email protected]/org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:420)
at [email protected]/org.eclipse.jetty.server.internal.HttpConnection$FillableCallback.succeeded(HttpConnection.java:1809)
at [email protected]/org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
at [email protected]/org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:54)
at [email protected]/org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:492)
at [email protected]/org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.epcRunTask(AdaptiveExecutionStrategy.java:428)
at [email protected]/org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:401)
at [email protected]/org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:255)
at [email protected]/org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:204)
at [email protected]/org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:317)
at [email protected]/org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:1009)
at [email protected]/org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1239)
at [email protected]/org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1194)
at java.base/java.lang.Thread.run(Thread.java:1474)
Caused by: DBTS-02000: An error occurred when attempting to connect to the database. The following error occurred: ORA-17967: SSL Handshake failure.: (handshake_failure) Received fatal alert: handshake_failure (CONNECTION_ID=PSnn6vubQ8+5Vn2w3UJKOA==)
https://docs.oracle.com/error-help/db/ora-17967/. Consult your database documentation for information on how to resolve the specified error code.
at [email protected]/com.oracle.dbtools.server.connections.providers.ConnectionException.of(ConnectionException.java:24)
at [email protected]/com.oracle.dbtools.server.connections.providers.oracle.OracleConnectionProviderFactory.connectionExceptionOf(OracleConnectionProviderFactory.java:33)
at [email protected]/com.oracle.dbtools.server.connections.providers.spi.ConnectionProvider.connectionExceptionOf(ConnectionProvider.java:30)
at [email protected]/com.oracle.dbtools.server.connections.sessions.ConnectionSession.session(ConnectionSession.java:477)
at [email protected]/com.oracle.dbtools.server.connections.sessions.ConnectionSession.connection(ConnectionSession.java:463)
at [email protected]/com.oracle.dbtools.server.connections.sessions.ConnectionSessions.connect(ConnectionSessions.java:114)
at [email protected]/com.oracle.dbtools.server.connections.sessions.ConnectionSessions.create(ConnectionSessions.java:78)
at [email protected]/com.oracle.dbtools.server.connections.sessions.ConnectionSessions.create(ConnectionSessions.java:32)
at [email protected]/com.oracle.dbtools.utils.core.hypermedia.Hypermedia$Collection.create(Hypermedia.java:361)
at [email protected]/com.oracle.dbtools.utils.core.hypermedia.Hypermedia$Collection.createItem(Hypermedia.java:280)
at [email protected]/com.oracle.dbtools.utils.core.actions.Actions$ImmutableRegistration.callIfMatches(Actions.java:351)
at [email protected]/com.oracle.dbtools.utils.core.actions.Actions.dispatch(Actions.java:91)
… 30 more
Caused by: java.sql.SQLRecoverableException: ORA-17967: SSL Handshake failure.: (handshake_failure) Received fatal alert: handshake_failure (CONNECTION_ID=PSnn6vubQ8+5Vn2w3UJKOA==)
https://docs.oracle.com/error-help/db/ora-17967/
at [email protected].2.0.0/oracle.jdbc.driver.T4CConnection.handleLogonNetException(T4CConnection.java:2068)
at [email protected].2.0.0/oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:1305)
at [email protected].2.0.0/oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:1236)
at [email protected].2.0.0/oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:107)
at [email protected].2.0.0/oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:817)
at [email protected].2.0.0/oracle.jdbc.datasource.impl.OracleDataSource.getPhysicalConnection(OracleDataSource.java:717)
at [email protected].2.0.0/oracle.jdbc.datasource.impl.OracleDataSource.getConnection(OracleDataSource.java:385)
at [email protected].2.0.0/oracle.jdbc.datasource.impl.OracleDataSource.getConnectionInternal(OracleDataSource.java:2225)
at [email protected].2.0.0/oracle.jdbc.datasource.impl.OracleDataSource.getConnection(OracleDataSource.java:358)
at [email protected].2.0.0/oracle.jdbc.datasource.impl.OracleDataSource.getConnection(OracleDataSource.java:319)
at [email protected]/com.oracle.dbtools.server.connections.providers.spi.ConnectionProvider$1.get(ConnectionProvider.java:24)
at [email protected]/com.oracle.dbtools.server.connections.sessions.ConnectionSession.newSession(ConnectionSession.java:434)
at [email protected]/com.oracle.dbtools.server.connections.sessions.ConnectionSession.session(ConnectionSession.java:471)
… 38 more
Caused by: oracle.net.ns.NetException: ORA-17967: SSL Handshake failure.: (handshake_failure) Received fatal alert: handshake_failure (CONNECTION_ID=PSnn6vubQ8+5Vn2w3UJKOA==)
https://docs.oracle.com/error-help/db/ora-17967/
at [email protected].2.0.0/oracle.net.nt.SSLSocketChannel.handshakeFailure(SSLSocketChannel.java:831)
at [email protected].2.0.0/oracle.net.nt.SSLSocketChannel.unwrap(SSLSocketChannel.java:811)
at [email protected].2.0.0/oracle.net.nt.SSLSocketChannel.unwrapHandshakeMessage(SSLSocketChannel.java:736)
at [email protected].2.0.0/oracle.net.nt.SSLSocketChannel.doSSLHandshake(SSLSocketChannel.java:535)
at [email protected].2.0.0/oracle.net.nt.SSLSocketChannel.write(SSLSocketChannel.java:199)
at [email protected].2.0.0/oracle.net.ns.NIOPacket.writeToSocketChannel(NIOPacket.java:378)
at [email protected].2.0.0/oracle.net.ns.NIOConnectPacket.writeToSocketChannel(NIOConnectPacket.java:291)
at [email protected].2.0.0/oracle.net.ns.NSProtocolNIO.negotiateConnection(NSProtocolNIO.java:214)
at [email protected].2.0.0/oracle.net.ns.NSProtocol.connect(NSProtocol.java:369)
at [email protected].2.0.0/oracle.jdbc.driver.T4CConnection.connectNetworkSessionProtocol(T4CConnection.java:3978)
at [email protected].2.0.0/oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:1187)
… 49 more
Caused by: javax.net.ssl.SSLHandshakeException: (handshake_failure) Received fatal alert: handshake_failure
at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:130)
at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:117)
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:363)
at java.base/sun.security.ssl.Alert$AlertConsumer.consume(Alert.java:287)
at java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:202)
at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:172)
at java.base/sun.security.ssl.SSLEngineImpl.decode(SSLEngineImpl.java:734)
at java.base/sun.security.ssl.SSLEngineImpl.readRecord(SSLEngineImpl.java:689)
at java.base/sun.security.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:504)
at java.base/sun.security.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:480)
at java.base/javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:673)
at [email protected].2.0.0/oracle.net.nt.SSLSocketChannel.unwrap(SSLSocketChannel.java:788)
… 58 more
I have installed SQLcl outside of vscode – there are no warnings
vscode terminal:
PS C:\Users\lars> sql
SQLcl: Release 26.2 Production on fre sep. 11 09:32:59 2026
Copyright (c) 1982, 2026, Oracle. All rights reserved.
Username? (”?) lars@tls
Password? (**********?) *
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 – Production
Version 19.31.0.0.0
SQL>
/Lars
Running \”userAgent\”: \”Oracle.sql-developer/26.2.0 (Windows 11 Enterprise) VSCode/1.134.0. Used a custom jdbc to use our LDAP protocol. If I test the connection, it works. If I clear the Save Password box before saving the connection, using the connection returns a failure for null password–it does not prompt. Copilot and even Claude could only suggest I ask thatjeffsmith.
I hope this is the relevant portion of the log (I edited the connection to make sure the Save box was clear, then tried to open the connection, and I edited out stuff in this snippet I thought might bother my admins):
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:”2026-09-04T23:35:39.729Z DEBUG GET /20221610/databases/connections/definitions/XH__sI18Nxqrn-J7D_4yTQ HTTP/1.1″,”timestamp”:”2026-09-04T23:35:39.730Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:”Host: localhost”,”timestamp”:”2026-09-04T23:35:39.730Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:”Request-Id: 4ngntk1APc2TuzFgCTWGrQ”,”timestamp”:”2026-09-04T23:35:39.730Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:”Accept: application/json”,”timestamp”:”2026-09-04T23:35:39.730Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:”Authorization: Signature key***xHQ==\””,”timestamp”:”2026-09-04T23:35:39.730Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:”x-date: Fri, 04 Sep 2026 23:35:39 GMT”,”timestamp”:”2026-09-04T23:35:39.730Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:”User-Agent: node-fetch/1.0 (+https://github.com/bitinn/node-fetch)”,”timestamp”:”2026-09-04T23:35:39.730Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:”Accept-Encoding: gzip,deflate”,”timestamp”:”2026-09-04T23:35:39.730Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:”Connection: close”,”timestamp”:”2026-09-04T23:35:39.730Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:”2026-09-04T23:35:39.752Z DEBUG HTTP/1.1 200 OK”,”timestamp”:”2026-09-04T23:35:39.756Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:”Request-Id: 4ngntk1APc2TuzFgCTWGrQ”,”timestamp”:”2026-09-04T23:35:39.757Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:”Location: http://localhost:56173/20221610/databases/connections/definitions/XH__sI18Nxqrn-J7D_4yTQ“,”timestamp”:”2026-09-04T23:35:39.757Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:”Content-Location: http://localhost:56173/20221610/databases/connections/definitions/XH__sI18Nxqrn-J7D_4yTQ“,”timestamp”:”2026-09-04T23:35:39.757Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:”Content-Type: application/json”,”timestamp”:”2026-09-04T23:35:39.757Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:”{“,”timestamp”:”2026-09-04T23:35:39.757Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:” \”type\”: \”CUSTOM_URL\”,”,”timestamp”:”2026-09-04T23:35:39.757Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:” \”name\”: \”*** Prod\”,”,”timestamp”:”2026-09-04T23:35:39.757Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:” \”url\”: \”jdbc:oracle:thin:@ldap://***********,cn=OracleContext,dc=wellsfargo,dc=com\”,”,”timestamp”:”2026-09-04T23:35:39.757Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:” \”userName\”: \”timothy.berryhill\”,”,”timestamp”:”2026-09-04T23:35:39.757Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:” \”advancedProperties\”: {“,”timestamp”:”2026-09-04T23:35:39.757Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:” \”autoCommit\”: \”false\””,”timestamp”:”2026-09-04T23:35:39.757Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:” },”,”timestamp”:”2026-09-04T23:35:39.757Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:” \”links\”: [“,”timestamp”:”2026-09-04T23:35:39.757Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:” {“,”timestamp”:”2026-09-04T23:35:39.757Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:” \”rel\”: \”self\”,”,”timestamp”:”2026-09-04T23:35:39.757Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:” \”href\”: \”http://localhost:56173/20221610/databases/connections/definitions/XH__sI18Nxqrn-J7D_4yTQ\””,”timestamp”:”2026-09-04T23:35:39.757Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:” }”,”timestamp”:”2026-09-04T23:35:39.757Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:” ],”,”timestamp”:”2026-09-04T23:35:39.757Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:” \”connectionMode\”: \”REGULAR\””,”timestamp”:”2026-09-04T23:35:39.757Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:”}”,”timestamp”:”2026-09-04T23:35:39.757Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:”2026-09-04T23:35:39.752Z DEBUG – – – [04/Sep/2026:23:35:39 +0000] \”GET /20221610/databases/connections/definitions/XH__sI18Nxqrn-J7D_4yTQ HTTP/1.1\” 200 – \”-\” \”-\” 23″,”timestamp”:”2026-09-04T23:35:39.757Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:”2026-09-04T23:35:39.768Z DEBUG POST /20221610/databases/connections/sessions/ HTTP/1.1″,”timestamp”:”2026-09-04T23:35:39.768Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:”Host: localhost”,”timestamp”:”2026-09-04T23:35:39.769Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:”Request-Id: ibeHukyylu0AuCNL3DU2_w”,”timestamp”:”2026-09-04T23:35:39.769Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:”Accept: application/json”,”timestamp”:”2026-09-04T23:35:39.769Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:”Authorization: Signature key***M3A==\””,”timestamp”:”2026-09-04T23:35:39.769Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:”Content-Length: 407″,”timestamp”:”2026-09-04T23:35:39.769Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:”Content-Type: application/json”,”timestamp”:”2026-09-04T23:35:39.769Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:”x-content-sha256: ZVRlXfsi2L7iEDIhnppfrYeV2/BpBHH91/4a2OmiaEY=”,”timestamp”:”2026-09-04T23:35:39.769Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:”x-date: Fri, 04 Sep 2026 23:35:39 GMT”,”timestamp”:”2026-09-04T23:35:39.769Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:”User-Agent: node-fetch/1.0 (+https://github.com/bitinn/node-fetch)”,”timestamp”:”2026-09-04T23:35:39.769Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:”Accept-Encoding: gzip,deflate”,”timestamp”:”2026-09-04T23:35:39.769Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:”Connection: close”,”timestamp”:”2026-09-04T23:35:39.769Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:”{“,”timestamp”:”2026-09-04T23:35:39.769Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:” \”definition\”: {“,”timestamp”:”2026-09-04T23:35:39.769Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:” \”type\”: \”CUSTOM_URL\”,”,”timestamp”:”2026-09-04T23:35:39.769Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:” \”name\”: \”EFDES Prod\”,”,”timestamp”:”2026-09-04T23:35:39.769Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:” \”url\”: \”jdbc:oracle:thin:@ldap://***************,cn=OracleContext,dc=wellsfargo,dc=com\”,”,”timestamp”:”2026-09-04T23:35:39.769Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:” \”userName\”: \”timothy.berryhill\”,”,”timestamp”:”2026-09-04T23:35:39.769Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:” \”advancedProperties\”: {“,”timestamp”:”2026-09-04T23:35:39.769Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:” \”autoCommit\”: \”false\””,”timestamp”:”2026-09-04T23:35:39.770Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:” },”,”timestamp”:”2026-09-04T23:35:39.770Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:” \”links\”: [“,”timestamp”:”2026-09-04T23:35:39.770Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:” {“,”timestamp”:”2026-09-04T23:35:39.770Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:” \”rel\”: \”self\”,”,”timestamp”:”2026-09-04T23:35:39.770Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:” \”href\”: \”http://localhost:56173/20221610/databases/connections/definitions/XH__sI18Nxqrn-J7D_4yTQ\””,”timestamp”:”2026-09-04T23:35:39.770Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:” }”,”timestamp”:”2026-09-04T23:35:39.770Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:” ],”,”timestamp”:”2026-09-04T23:35:39.770Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:” \”connectionMode\”: \”REGULAR\””,”timestamp”:”2026-09-04T23:35:39.770Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:” },”,”timestamp”:”2026-09-04T23:35:39.770Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:” \”startupScript\”: \”\””,”timestamp”:”2026-09-04T23:35:39.770Z”}
{“component”:”DBToolsServerApp(29268)”,”level”:”debug”,”message”:”}”,”timestamp”:”2026-09-04T23:35:39.770Z”}
{“component”:”Connections Navigator”,”level”:”error”,”message”:”\n{\n \”action\”: \”Connect\”,\n \”connection\”: {\n \”name\”: \”EFDES Prod\”,\n \”href\”: \”http://localhost:56173/20221610/databases/connections/definitions/XH__sI18Nxqrn-J7D_4yTQ\”\n },\n \”error\”: {\n \”code\”: \”DBTS-02000\”,\n \”message\”: \”An error occurred when attempting to connect to the database\”,\n \”action\”: \”Consult your database documentation for information on how to resolve the specified error code\”,\n \”cause\”: \”The following error occurred: ORA-01005: null password given; logon denied\\n\\r\\nhttps://docs.oracle.com/error-help/db/ora-01005/\”,\n \”error\”: {\n \”code\”: \”DBTS-02000\”,\n \”message\”: \”An error occurred when attempting to connect to the database\”,\n \”action\”: \”Consult your database documentation for information on how to resolve the specified error code\”,\n \”cause\”: \”The following error occurred: ORA-01005: null password given; logon denied\\n\\r
By the way, are the Oracle Forums still active? I created an account there and failed repeatedly to post this there.
Tim
Forums still active, yes. And you also have My Oracle Support.
Can you give me a plain description of what you’re trying to achieve?
In SQL Dev for VSCode, in the ‘Query Results’ panel, there is an ‘Export’ button. Unsurprisingly, this lets me export the results of the query as a file. When I click ‘export’ it re-runs the query to get the freshest data (hurray!)
However, this means for long-running queries, I have to run it first to get the query panel. Is there a way to by-pass the need to run the query first, then run it again to export?
I have a ticket to allow for direct exports if the results are already fetched, but we’re not there yet. For your scenario, look at
set sqlformat csv
cd /where/you/want/it/to/go
spool file.csv
select …
spool off
Execute via SQLcl
Hello Jeff,
I am using SQLcl Release 26.2 version,
When you have a new table and grants on that table to an existing schema, the project stage command will place the grants before the table creation changes in stage.changelog.xml. This will result in an error during deploy.
How do we handle this any suggestion?
Do you want to talk about this here, or on the forums?
In either location, exact version of SQLcl is needed, as well as a test case with all steps included.
You can also open a SR with MOS.
What would cause the ‘Run Statement’ command to return seemingly garbage script output?
I have a very simple query that I’m running against a view. I’m running it in its SQL worksheet, using the ‘Run Statement’ command. I’ve tried running it as different schema, and on dev vs test (which both have the same view definition).
When I run it limiting by ID, I get the expected result(s).
However, when I run it without that limitation, instead of giving me query results in the ‘Query Results’ tab, it jumps me over to the ‘Script Output’ tab and outputs:
{
“env”: {
“defaultTimeZone”: “Z”
},
“items”: []
}
Simplified example: (columns etc changed for privacy):
–this runs as expected
select id
from other_schema.weird_view
where f_key = 92
and id = 123;
–this does not
select id
from other_schema.weird_view
where f_key = 92;
If I wrap the whole thing in PLSQL:
SET SERVEROUTPUT ON;
BEGIN
FOR record_item IN (
select id
from other_schema.weird_view
where f_key = 92
) LOOP
dbms_output.put_line(‘id: ‘||id);
end loop;
end;
/
I get the actual error message (“ORA-01422: exact fetch returns more than requested number of rows” if that matters)
If I run the same statement in stand-alone SQL Developer, I also get actual error message.
Do I have something mis-configured in SQL Dev extension? Is this a bug?
Definitely sounds like a bug.
The definition of the view and the underlying table data types probably come into play. So I need a test case. Create a dummy table/view that simulates your real world example, and see if that triggers the same bad behavior.
You can also have a look at the Output panel with the filter set to ‘SQL Developer Log’ for more info.
Here is some test data that does the same weird thing: (I’m curios if it does it for you, too)
create table test_table
as
select 1 as id, 123 as fkey from dual
union all
select 2 as id, 456 as fkey from dual
union all
select 3 as id, 456 as fkey from dual;
create table test_table2
as
select 123 as fid, ‘hi’ as msg from dual
union all
select 456 as fid, ‘yo’ as msg from dual
union all
select 789 as fid, ‘sup’ as msg from dual;
create or replace function test_function (
p_fkey in number
) return number is
v_id number;
begin
select id
into v_id
from test_table
where fkey = p_fkey;
return v_id;
end;
/
create or replace view test_view1 as
select id,
fid,
msg
from test_table2
left join test_table
on test_table.fkey = test_table2.fid;
create or replace view test_view2 as
select id,
fid,
msg
from test_table2
left join test_table
on test_table.id = test_function(test_table2.fid);
select test_function(123)
from dual;
/* the above returns the expected value of 1 in the query result tab */
select test_function(456)
from dual;
/* above returns the expected error in the query result tab:
Error at Line: 1, Column: 8
SQL Error: ORA-01422: exact fetch returns more than requested number of rows
ORA-06512: at “TEMPO.TEST_FUNCTION”, line 44
*/
select *
from test_view2
where fid = 123;
/* above returns expected rows in the query result tab:
ID FID MSG
1 123 hi
*/
select *
from test_view2
where fid = 456;
/* above leaves the query results tab unchanged and returns the following weird output to script output tab:
{
“env”: {
“defaultTimeZone”: “Z”
},
“items”: []
}
*/
I get the same in SQLDev as I get in SQLPlus
SQL*Plus: Release 23.0.0.0.0 – Production on Thu Aug 13 19:33:43 2026
Version 23.7.0.25.01
Copyright (c) 1982, 2025, Oracle. All rights reserved.
Last Successful login time: Wed Aug 12 2026 16:52:41 +00:00
Connected to:
Oracle Database 23ai Free Release 23.0.0.0.0 – Develop, Learn, and Run for Free
Version 23.7.0.25.01
SQL> select test_function(456)
from dual; 2
select test_function(456)
*
ERROR at line 1:
ORA-01422: exact fetch returned more than the requested number of rows (0)
Help: https://docs.oracle.com/error-help/db/ora-01422/
SQLDev
Error at Line: 1, Column: 8
SQL Error: ORA-01422: exact fetch returned more than the requested number of rows
ORA-06512: at “HR.TEST_FUNCTION”, line 6
*Cause: The cause is one of the following
1. A SELECT statement was executed in the exact fetch
mode and returned more rows than requested.
2. In PL/SQL, a SELECT INTO statement returned more than one row.
3. In PL/SQL, a DML RETURNING INTO statement
returned more than one row.
*Action: Choose the action corresponding to the cause as numbered
1. Increase the number of rows requested to accommodate the
number of rows returned;
or omit the exact fetch mode on the fetch call.
2. In PL/SQL, use a FOR loop to process the rows.
3. In PL/SQL, use BULK COLLECT to return values into a table.
*Params: 1) requested_rows
More Details: https://docs.oracle.com/error-help/db/ora-01422/
What do you get when you run it in VSCode via the SQL Developer ext? (That’s where I’m seeing the weird behavior, but I see now that wasn’t super clear from my first post)
We’re ‘eating’ the ORA- error, and bringing back the partial JSON response. That’s a bug, will log.
Hi Jeff,
I am using the SqlDeveloper extension on VS Code, i am up to date with the versions.
I just can’t seem to succeed in creating folders for my connections.
I do have an ‘add folder’ link. When I use it, I get the option to give the folder name, but after I give one and enter it, nothing happens. I do no see a folder appear, I do not get a list when I select a connection and try to add it to a folder.
I don’t know if it is correlated, but when i first installed the extension, I imported my desktop connections (which *did* have folders).
I tried reinstalling the extension, but that doesn’t help.
thanks in advance,
Marc
Sounds like you have an OS file permission issue. The Output panel would display those, making sure to set the category to SQL Developer – Log.
You might need to either delete your AppData folder and let the extension/Windows recreate it, or grant the privs – maybe try running VS Code as an Admin? There are posts/solutions on the SQLDev/VS Code forum that cover this as well.
Hi Jeff,
I want to connect to a database via native network encryption with AES256 resp. SHA256 and ALLOW_WEAK_CRYPTO_CLIENTS = FALSE. The developer showed me an ORA-12269. Im looking for the information which sql developer version does support this connection type. Is it possible to update the jdbc driver of the developer so that such a connection type works as expected?
Thanks & regards
Axel D.
What ‘developer’ are we talking about?
Our SQL Developer extension for VS Code’ has a very recent copy of the JDBC driver
Driver Name: Oracle JDBC driver
Driver Version: 23.26.2.0.0
Hello Jeff
i have ORDS20.3 running and want to upgrade to ORDS25.1
i know how to proceed with upgrade but finding difficulty in rollback steps.
Can you please guide me on how to safely rollback to ORDS20.3 if there is an issue after upgrade to 25.1
TIA
Ilyas
Why upgrade to old software?
For rollback you have two options, a database restore, or an uninstall, install of ords. If you go with 2nd option, make sure you have your rest apis, oauth2 clients, etc backed up as sql scripts you can reapply.
Hello Jeff…..can you please have a look and let me know on this.
I already answered.
Hi Jeff. For “patching” ORDS with latest (26.2.1.190.1402), can I just run ords install after staging on the weblogic host and adjusting environment variables for new version? Or do I need to redeploy ords.war and i.war again?
Thanks in advance.
-abe
26.2.1 from what version?
From 26.1 and earlier you need to run an upgrade, that will uodate the database objects and plsql apis.
Any version, you need to deploy the war file. Thats the ords java code.
Thank you, sir. This is to be applied on top of: 26.1.2.r1401916.
-abe
You need a full upgrade then.
I want to thank you for keeping afloat the legacy version of sqldeveloper. It’s still the best one available.
In the stand-alone SQL Developer, there is a ‘Toggle ANSI/Oracle Joins’ feature. Is this available in the VSCode extension version?
No/Not yet
Is there a way to get my huge, old sql history from sql developer (legacy) to the sql history of the vs code extension? I found both directories, but the file structure seems to be different and needs to be converted. Is any migration/import script available?
No, but like you said, you have the two files. You could use an AI/LLM to generate some Python to do that conversion for you.
@Jeff, thanks for your answer! I created a small Python script to do the work and it looks good so far. Is there any rule or logic behind these 6-digit filenames of the vs code extension? DO you use any hashes based on the file content used from the extension for indexing etc.? Or does the extension simply create uuids to get unique file names.
Hi Jeff,
I’m trying to figure out whether the SQL Developer VS Code extension supports debugging PL/SQL from APEX applications.
The classic Oracle SQL Developer uses JDWP for PL/SQL debugging:
https://www.slideshare.net/slideshow/debugging-plsql-from-your-apex-applications-with-oracle-sql-developer/146095763
Does the SQL Developer VS Code extension already support this feature?
Finally moving from SQL Developer Version 24.3.1.347 to VS Code with the SQL Developer Extension. And I see your post from Jan. 2026 about canned reports being available. My question is: what about user reports? Will that be added or is there another way to do user reports in VS Code with the SQL Developer Extension?
We’re going to enhance the SQL Notebooks to offer what User Defined Reports used to.