These are both maintenance releases. Several bugs have been fixed. In addition the core architecture has seen the following updates:
- Java 11 has been updated to Java 17
- JDBC has been updated from 21c to 23ai
- Script Engine/SQLcl has been upgraded to 24.3
The license has also been migrated from the OTN license to the FUTC license. The benefit here is that you no longer need an Oracle.com account, nor do you need to ‘click-thru’ and agree to terms.
With our new maintenance window of 18 months, this means you’re covered for support until April of 2026.
On the download page and in the welcome page banner, we’re pushing you to VS Code…
This is the future of SQL Developer. All active development is happening here, and only bug fixes will be supplied for the desktop versions. Stay tuned for Modeler support in VS Code 🙂
What about JavaScript support?
If you’re using a feature that requires JavaScript, that’s no longer supported in Oracle Java 17. However, it it supported in GraalVM’s Java 17 runtime with JavaScript support added to the mix.
You can get this going for either or both SQL Developer and SQLcl. I’ve shown for SQLcl here.
The steps;
- download graalvm for java 17
- use gu utility to add support for js
- set java home in product.conf file
- startup SQLDev
- start using javascript feature again
Looking to make a ‘THICK’ connection? You’ll need a 23ai client
Since we’re using a 23ai JDBC driver, you’ll now need a 23ai Client or Instant Client to make ‘thick’ connections. THIN connections are PURE JDBC driven connections. THICK connections utilize the C code in an Oracle Client, along with it’s included JDBC Drivers.
Clients:
- Full 23ai Client
- 23ai Instant Clients, x64 Windows – use this, easier/quicker
Download the instant client. Extract it to a directory (no spaces in names, keep it clean/simple). Update your OS Path, place this listing, FIRST.
Startup SQLDev, set the advance setting. Clicking ‘ok’ will prompt for a restart. Upon restart, you should be able to make ‘thick’ connections. If not, use the ‘test’ feature in the preferences to find out why – it’s almost always a path conflict.
One final word on THICK connections – most of you do not NEED to use these. All of the features are included in the 23ai JDBC driver today.
20 Comments
Jeff, after installing this version, almost every query I run produces a kind of background task. Most of them finishes normally, but eventually some cannnot finish and keep running forever. I could not attach the screen.
We’re aware of the issue and working on a fix.
I strongly hoped that this bug is fixed:
https://support.oracle.com/knowledge/Middleware/2960032_1.html
But no, still there…:-(
We depend on V21.4.3, the last version before this bug, because we do a lot of script debugging which is almost impossible in higher versions because of this bug.
Oracle priorities for improving or even (re)enabling already existing debugging capabilities seems to be very low.
Sorry this wasn’t marked as a priority to get fixed. Only 1 customer is attached to the bug, and it’s not you.
Make sure when support tells you there is a bug that they have also added your SR to the report, and then ask them for updates. Those get back to the development team, and we often increase the priority of bugs and feature requests.
The priority is moving customers to VS Code. Our latest update there has just added support for the debugger. I’m not sure if it supports debugging scripts, but I will find out.
macOS Release for 24.3 with the integrated jdk17 (../Resources/sqldeveloper/jdk) doesn’t start.
java.lang.module.FindException: Module javafx.base not found
Yes I know, a fix is being readied soon.
The problem is only on macOS Intel. and as a fix correct in the app package the module path to javafx
Path in app package: /Contents/Resources/sqldeveloper/sqldeveloper/bin/java11.conf
from
AddMacVM9OrHigherOption –module-path=../../modules/javafx/osx-aarch64/lib
to
AddMacVM9OrHigherOption –module-path=../../modules/javafx/osx-x64/lib
right
Hello Jeff.
Has anything changed in configuration with Instant Client (except that we need 23 version now)?
I am using 23.1.1 version with Instant Client 21 and it works, but I have some issues setting up 23.4 version with Instant Client 23.
Thank you.
Piotr
No
note that all db features should be avail now in the thin jdbc driver – so thick clients are a thing of the past – theoretically 🙂
Hello Jeff.
Well, except Kerberos authentication which works with thick clients.
I will be trying to have it working and waiting for Kerberos support in SQL Developer for VS Code.
Thank you.
Piotr
Kerberos should be good too, see the Oracle jdbc docs.
Here’s an example of jetbrains doing the same
https://www.jetbrains.com/help/datagrip/connect-to-oracle-by-using-kerberos.html
I have done some testing and it looks like that something has changed,
because when I am using Oracle SQL Developer 23.1.1 with Instant Client 21.15 it works fine,
however Oracle SQL Developer 24.3 with Instant Client 23.5 still complains about path.
User’s environment PATH variable is not changed (set to Instant Client path) and locations of Oracle SQL Developer and Instant Client, but only contents of these locations.
The same issue I have with Oracle SQL Developer 23.1.1 with Instant Client 23.5,
so for now I will stay with Oracle SQL Developer 23.1.1 and Instant Client 21.15.
Thank you.
Piotr
I have no issues with sqldev 24.3 and instant client 23.5…
If you want help, start a thread on forums or open a SR with MOS.
Hi Jeff,
I’m using 24.3 Oracle SQL Developer “Windows 64-bit with JDK 17 included” (I’m not too confident with vscode yet :-)).
But when I try to export a query in xlsx format it produce a 0 file and lock it so I can delete it only if I close the developer.
Enrico
It’s a known issue, will be have an update with a fix ready ASAP.
In the meantime use spool and format hints.
the above query works nicely in 24.3
demo@FREEPDB1> SELECT JSON [ SELECT JSON {‘id’: employee_id, ‘name’: last_name, ‘sal’: salary} FROM employees WHERE salary > 12000 ORDER BY salary ] by_salary;
BY_SALARY
____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
___________________________________________________________________________________
[{“id”:108,”name”:”Gruenberg”,”sal”:12008},{“id”:205,”name”:”Higgins”,”sal”:12008},{“id”:201,”name”:”Martinez”,”sal”:13000},{“id”:146,”name”:”Partners”,”sal”:13500},{“id”:145,”name”:”Singh”,”sal”:14000},{“id”:101,”name”:”Yang”,”sal”:170
00},{“id”:102,”name”:”Garcia”,”sal”:17000},{“id”:100,”name”:”King”,”sal”:24000}]
demo@FREEPDB1> version
Oracle SQLDeveloper Command-Line (SQLcl) version: 24.3.0.0 build: 24.3.0.285.0530
he didn’t say the query wasn’t working
Congratulations on the release!
Jeff, I believe there’s a regression in the parser. When using the libraries from SQLcl 24.2, the following query is parsed without any errors:
SELECT JSON [ SELECT JSON {‘id’: employee_id, ‘name’: last_name, ‘sal’: salary} FROM employees WHERE salary > 12000 ORDER BY salary ] by_salary;
(This is the last example from the documentation on JSON_ARRAY: https://docs.oracle.com/en/database/oracle/oracle-database/23/adjsn/sql-json-function-json_array.html)
Yet, with the libraries from SQLcl 24.3, it results in a “Syntax Error at line 1, column 115” (it’s in the ORDER BY clause).
yeah i see what you’re saying, i’ll log a bug for you