8 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:

  • Use the driver versions that are needed for working with JSON type, even if your database release is lower than 21c.

  • For projects that were started using a database release prior to 21c, explicitly specify the metadata for the default collection, as specified in Example 8-1. For projects started using release 21c or later, just use the default metadata.

Table 8-1 SODA Driver Minimum Required Versions

SODA Implementation (Language) JSON Data Type ContentFoot 1 Content Other Than JSON Data Type

Java

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

SODA for REST is not yet available for use with JSON data type content.

If your database is not an Oracle Autonomous Database then 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.

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.

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.

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.

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.

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).

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

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" : "JSON_DOCUMENT", "sqlType" : "BLOB" }, 
  "versionColumn" : { "name" : "VERSION", "method" : "UUID" }, 
  "lastModifiedColumn" : { "name" : "LAST_MODIFIED" },
  "creationTimeColumn" : { "name" : "CREATED_ON" } }