8 SODAドライバ
様々なSODA実装(言語)に必要なドライバについて説明します。すべての場合において、各ドライバの最新バージョンをお薦めします。様々なOracleデータベースを使用した様々なSODA実装に必要な最小バージョンについて説明します。
Oracle Database 21c以降、SODAコレクションのJSONコンテンツは、デフォルトでJSON
データ型として格納されます。つまり、コレクションのコンテンツ列はJSON
型です。
データベース・リリース21c以上でのSODAドライバの互換性の問題を回避するために、次のことをお薦めします。
-
データベース・リリースが21c未満でも、
JSON
型の操作に必要なドライバ・バージョンを使用します。 -
21cより前のデータベース・リリースを使用して開始されたプロジェクトの場合は、例8-1に示すように、デフォルト・コレクションのメタデータを明示的に指定します。リリース21c以上を使用して開始されたプロジェクトの場合は、デフォルトのメタデータのみを使用します。
表8-1 SODAドライバの最小必須バージョン
SODA実装(言語) | JSONデータ型コンテンツ脚注1 | JSONデータ型以外のコンテンツ |
---|---|---|
Java |
|
Maven Centralの次の座標で入手可能なSODA for Javaバージョン1.1.4:
MavenからSODA for Javaを取得すると、その依存関係(Oracle JDBCドライバおよび |
REST |
Oracle REST Data Services (ORDS)リリース20.4.1以上。 |
データベースがOracle Autonomous Databaseではない場合は、Oracle REST Data Services (ORDS)リリース19.4.6以上。 (データベースがOracle Autonomous Databaseの場合は、ORDSの必須リリースがプリインストールされています。) |
C |
Oracle Instant Clientライブラリは、21c以上である必要があります。Oracle Instant Client Downloadsから入手します。 |
Oracle Instant Clientライブラリは、19.6以上である必要があります。Oracle Instant Client Downloadsから入手します。 |
Node.js |
推奨されるNode.jsドライバの最小バージョンは4.0です。 Oracle Instant Clientライブラリは、21c以上である必要があります。Oracle Instant Client Downloadsから入手します。 |
推奨されるNode.jsドライバの最小バージョンは4.0です。 Oracle Instant Clientライブラリは、19.6以上である必要があります。Oracle Instant Client Downloadsから入手します。 |
Python |
推奨されるPythonドライバの最小バージョンは7.1です。 Oracle Instant Clientライブラリは、21c以上である必要があります。Oracle Instant Client Downloadsから入手します。 |
推奨されるPythonドライバの最小バージョンは7.1です。 Oracle Instant Clientライブラリは、19.6以上である必要があります。Oracle Instant Client Downloadsから入手します。 |
Oracle SQLcl (SQL Developerコマンドライン) |
SODA for SQLclは、まだ |
Oracle SQLclバージョン20.2を使用します(20.3ではありません)。 |
脚注1 JSON
型のコンテンツでは、データベース初期化パラメータcompatible
が20以上である必要があります。
例8-1 Oracle Database 21c以上でBLOBコンテンツを使用するための回避策
リリース21c以上のオンプレミスOracle Databaseがあり、JSON
データ型の使用に必要なクライアントの最小バージョンがない場合は、ドキュメント・コンテンツがBLOB
データ型であるコレクションでSODAを使用できます。このようなコレクションを作成するには、コレクションの作成時に次のカスタム・メタデータを指定します。
{ "keyColumn" : { "name":"ID" },
"contentColumn" : { "name" : "JSON_DOCUMENT", "sqlType" : "BLOB" },
"versionColumn" : { "name" : "VERSION", "method" : "UUID" },
"lastModifiedColumn" : { "name" : "LAST_MODIFIED" },
"creationTimeColumn" : { "name" : "CREATED_ON" } }
関連トピック