17.3.1 REST対応SQLサービス参照の理解
REST対応SQLサービス参照を作成して、リモート・データベースに定義されているSQLまたはPL/SQLを実行します。
- REST対応SQLサービス参照について
REST対応SQLサービス参照を使用して、リモート・データベースに定義されているSQLまたはPL/SQLを実行します。 - REST対応SQLサービス参照の要件
REST対応SQLサービス参照を使用するための最小要件を確認します。 - MySQLサポートについて
MySQLでは、読取り専用APEXコンポーネントのみがサポートされます。 - REST対応SQLサービス参照とデータベース・リンクとの相違点
REST対応SQLサービス参照がデータベース・リンクとどのように異なるかについて説明します。 - REST対応SQLサービスのエクスポートおよびインポート
REST対応SQLサービス参照を作成して、リモートOracleデータベースに定義されているSQLまたはPL/SQLを実行します。
親トピック: REST対応SQL参照の管理
17.3.1.1 REST対応SQLサービス参照について
REST対応SQLサービス参照を使用して、リモート・データベースに定義されているSQLまたはPL/SQLを実行します。
Oracle REST Data Services (ORDS)の最小要件を満たすOracle APEXインストール環境では、RESTエンドポイントを介して任意のSQLまたはPL/SQLを実行できます。
開発者は、共有コンポーネント内の名前、エンドポイントURLおよび認証情報を定義して、REST対応SQL参照を作成します。APEXは、RESTを介してSQLまたはPL/SQL問合せをORDSに渡し、自己記述型のJSONレスポンスを返します。JSONオブジェクトには、結果セットのメタデータ、結果データおよびページ区切りの詳細が含まれます。
REST対応SQLサービスはAPEXコンポーネント内にワークスペースレベルで格納されるため、ワークスペース内のすべてのアプリケーションで使用できます。開発者は、対話モード・レポート、対話グリッド、クラシック・レポート、フォーム、マスター・ディテール・フォーム、カレンダ、JETチャート、ツリーおよびPL/SQLプロセスに対して、REST対応SQL参照を使用できます。参照は、カレンダ、JETチャート、ツリーおよびPL/SQLプロセスとともに使用することもできます。
親トピック: REST対応SQLサービス参照の理解
17.3.1.2 REST対応SQLサービス参照の要件
REST対応SQLサービス参照を使用するための最小要件を確認します。
REST対応SQLサービス参照を使用するための要件は次のとおりです。
-
フロントエンドにOracle REST Data Services (ORDS) 20.x以降が含まれるリモートOracle Database。
-
フロントエンドにOracle REST Data Services (ORDS) 22.1以降が含まれるリモートMySQL Database。
『Oracle REST Data Servicesインストレーションおよび構成ガイド』のMySQL DatabaseでのREST対応SQLサービスの使用に関する項および『Oracle REST Data Services開発者ガイド』のREST対応SQLサービスおよびMySQLデータベースに関する項を参照してください。
-
管理者は、ワークスペースレベルまたはインスタンスレベルでRESTfulサービスを有効にする必要があります(『Oracle APEX管理ガイド』のワークスペースのRESTfulサービスの有効化およびパス接頭辞の定義およびインスタンスのRESTfulサービスの有効化を参照)
親トピック: REST対応SQLサービス参照の理解
17.3.1.3 MySQLサポートについて
MySQLでは、読取り専用APEXコンポーネントのみがサポートされます。
次の表に、リモートのMySQLデータベースでREST対応SQLサービス参照を使用する場合のサポートされているAPEXコンポーネントおよびサポートされていない機能を示します。
APEXコンポーネント | サポートされない機能およびコメント |
---|---|
クラシック・レポート |
BLOB列(次を参照)。 |
対話モード・レポート |
|
対話グリッド |
|
ファセット検索およびスマート・フィルタ |
複数値ファセット。 |
カレンダ |
ドラッグ・アンド・ドロップ。 |
フォーム・リージョン |
読取り専用フォームのみがサポートされます。DMLはサポートされていません。 |
チャート |
|
カード |
なし |
列切替えレポート |
なし |
リフロー・レポート |
なし |
共有LOV |
なし |
マップ・リージョン |
MySQLネイティブ・ジオメトリ・タイプはサポートされていません。また、マップ問合せはGeoJSONを返す必要があります。 |
ツリー |
「兄弟順序付け基準」として選択した列は、 |
「コードを実行」ページ・プロセス |
MySQLはサポートされていません。REST対応SQLを使用している場合は、リモート・サーバーのリストから選択できません。 |
自動化 |
MySQLサーバーは自動化問合せでサポートされていますが、自動化アクションおよび「コードを実行」アクション・タイプ内のターゲットとしてサポートされていません。 |
対話モード・レポートおよびクラシック・レポートのBLOB列 |
対話モード・レポートおよびクラシック・レポートのBLOB列は、一般にREST対応SQLをサポートしていないため、サポートされません。BLOB列は、カード・リージョンおよびフォーム表示でサポートされています。 |
親トピック: REST対応SQLサービス参照の理解
17.3.1.4 REST対応SQLサービス参照とデータベース・リンクとの相違点
REST対応SQLサービス参照がデータベース・リンクとどのように異なるかについて説明します。
REST対応SQLサービス参照とデータベース・リンクは、両方とも開発者によるデータへのリモート・アクセスを可能にします。ただし、これらの機能はリモート・データにアクセスする方法が異なります。データベース・リンクとREST対応SQLサービス参照の主な違いは次のとおりです。
- データベース・リンク
- 開発者が同じSQL問合せでリモート表とローカル表を使用できるようにSQLレベルで機能します。
- SQL*Net上で動作するため、インターネット上でクラウド・インスタンスに接続する場合は、問題が発生することがあります。
- REST対応SQLサービス参照
- ワークスペースレベルで機能します。開発者は、REST対応SQLサービスに対する問合せが含まれるAPEXコンポーネントを作成できますが、ローカル表に結合することはできません。
- クラウド環境で、またはインターネット上で使用しやすいようにJSON over HTTP(s)と連動します。
データベース・リンクおよびREST対応SQLの両方がローカル・データベース内の表からデータをフェッチするよりはるかに非効率なネットワークを介してデータをフェッチします。環境に最適な方法を評価する際に、ページ・ビュー・パフォーマンスへの影響を評価し、適切なリフレッシュ・アルゴリズムを使用して常にローカル表でリモート・データをレプリケートすることを検討してください。
親トピック: REST対応SQLサービス参照の理解
17.3.1.5 REST対応SQLサービスのエクスポートおよびインポート
REST対応SQLサービス参照を作成して、リモートOracleデータベースに定義されているSQLまたはPL/SQLを実行します。
アプリケーションをエクスポートすると、使用されるREST対応SQL参照が、エクスポート・ファイルに追加されます。アプリケーションをエクスポートして別のワークスペースにインポートする場合は、APEXによって、ターゲット・ワークスペースに同じ静的IDのREST対応SQL参照がすでに含まれているかどうかがチェックされます。REST対応SQL参照がすでに存在している場合、アプリケーションは、既存の参照を使用します。参照が存在しない場合は、ターゲット・ワークスペースに作成されます。
親トピック: REST対応SQLサービス参照の理解