SODA Drivers

The drivers needed for different SODA implementations (languages) are described. The latest version of each driver is recommended, in all cases. Minimum required versions are described, for different SODA implementations with different Oracle databases.

Starting with Oracle Database 21c, the JSON content of SODA collections is, by default, stored as JSON data type, that is, the content column of a collection is JSON type.

To avoid compatibility problems of SODA drivers with database release 21c and above, Oracle recommends the following:

Table 1 SODA Driver Minimum Required Versions

SODA Implementation (Language) JSON Data Type Content1 Content Other Than JSON Data Type
Java
  • SODA for Java, version 1.1.7, available from Maven Central at these coordinates:

    • Group ID: com.oracle.database.soda

    • Artifact ID: orajsoda

    • Version: 1.1.7.1

  • Oracle JDBC driver: ojdbc8.jar for Oracle Database 21c, available from Maven Central or [Oracle Database JDBC and UCP Downloads](https://www.oracle.com/database/technologies/appdev/jdbc-downloads.html).

  • javax.json-1.1.4.jar, available from [Maven Central](https://repo1.maven.org/maven2/org/glassfish/javax.json/1.1.4/javax.json-1.1.4.jar).

SODA for Java, version 1.1.4, available from Maven Central at these coordinates:

  • Group ID: com.oracle.database.soda

  • Artifact ID: orajsoda

  • Version: 1.1.4

Obtaining SODA for Java from Maven automatically picks up its dependencies (Oracle JDBC driver and javax.json-1.1.4.jar), as well.

REST

[Oracle REST Data Services](https://docs.oracle.com/en/database/oracle/oracle-rest-data-services/) (ORDS), release 20.4.1 or later.

If your database is not an Oracle Autonomous Database then [Oracle REST Data Services](https://docs.oracle.com/en/database/oracle/oracle-rest-data-services/) (ORDS), release 19.4.6 or later.

(If your database is an Oracle Autonomous Database then the required release of ORDS is preinstalled.)

C

Oracle Instant Client libraries must be 21c or later. Obtain them from [Oracle Instant Client Downloads](https://www.oracle.com/database/technologies/instant-client/downloads.html).

Oracle Instant Client libraries must be 19.6 or later. Obtain them from Oracle Instant Client Downloads.
Node.js

Minimum recommended Node.js driver version is 4.0.

Oracle Instant Client libraries must be 21c or later. Obtain them from [Oracle Instant Client Downloads](https://www.oracle.com/database/technologies/instant-client/downloads.html).

Minimum recommended Node.js driver version is 4.0.

Oracle Instant Client libraries must be 19.6 or later. Obtain them from [Oracle Instant Client Downloads](https://www.oracle.com/database/technologies/instant-client/downloads.html).

Python

Minimum recommended Python driver version is 7.1.

Oracle Instant Client libraries must be 21c or later. Obtain them from [Oracle Instant Client Downloads](https://www.oracle.com/database/technologies/instant-client/downloads.html).

Minimum recommended Python driver version is 7.1.

Oracle Instant Client libraries must be 19.6 or later. Obtain them from [Oracle Instant Client Downloads](https://www.oracle.com/database/technologies/instant-client/downloads.html).

Oracle SQLcl (SQL Developer Command Line) SODA for SQLcl is not yet available for use with JSON data type content. Use Oracle SQLcl version 20.2 (not 20.3).

Example 8-1 Workaround To Use BLOB Content With Oracle Database 21c Or Later

If you have an on-premises Oracle Database that is release 21c or later, but you do not have the minimum required client versions for using JSON data type, you can use SODA with collections whose document content is BLOB data type instead. You can create such a collection by supplying this custom metadata when creating the collection:

{ "keyColumn" : { "name":"ID" },
  "contentColumn" : { "name" : "DATA", "sqlType" : "BLOB" },
  "versionColumn" : { "name" : "VERSION", "method" : "UUID" },
  "lastModifiedColumn" : { "name" : "LAST_MODIFIED" },
  "creationTimeColumn" : { "name" : "CREATED_ON" } }

Related Topics

  1. Content of JSON type requires database initialization parameter compatible to be at least 20.