適用対象: Azure Logic Apps (従量課金プラン + Standard)
ワークフローで Oracle データを操作する必要がある場合は、Azure Logic Appsの Oracle Database コネクタを使用して Oracle データベースに接続します。 オンプレミスまたはAzure仮想マシンでホストされているデータベースにアクセスできます。
Oracle Database コネクタは、次のような一般的なデータ統合タスクを解決するのに役立ちます。
- 顧客レコードをデータベースに追加します。
- データベース内の注文レコードを更新します。
- ワークフローの一部としてテーブル行を取得、挿入、または削除します。
サポートされている Oracle Database のバージョン
次の表に、各コネクタでサポートされている Oracle DB のバージョンを示します。
| Connector | ロジック アプリ | サポートされている Oracle DB のバージョン |
|---|---|---|
| 管理された | -消費 -標準 |
- Oracle 9 以降 - Oracle Data Access Client (ODAC) 11.2 以降 |
| 組み込み (プレビュー) | Standard | Oracle Database 11 以降 |
コネクタに関するテクニカル リファレンス
Oracle Database コネクタのバージョンは、 ロジック アプリワークフローの種類とホスト環境に基づいて異なります。
| ロジック アプリ | Environment | コネクタのバージョン |
|---|---|---|
| 消費 | マルチテナント Azure Logic Apps | マネージド コネクタ。コネクタ ギャラリーの 共有 フィルターの下に表示されます。 詳細については、「 Oracle Database マネージド コネクタリファレンス」を参照してください。 |
| 標準 | シングルテナント Azure Logic Apps、App Service Environment v3 (Windows プランのみ)、ハイブリッド | マネージド コネクタ。 共有 フィルターの下のコネクタ ギャラリーに表示され、組み込みのコネクタ (パブリック プレビュー) が、コネクタ ギャラリーの 組み込みフィルターの下に 表示されます。 組み込みバージョンは、Azure Logic Apps ランタイムでインプロセスで実行され、ランタイムがネットワーク経由で Oracle エンドポイントに到達できるため、オンプレミス データ ゲートウェイは必要ありません。 詳細については、以下を参照してください。 - Oracle Database マネージド コネクタ リファレンス - 組み込みのコネクタ リファレンス |
組み込みのコネクタ操作 (プレビュー)
組み込みコネクタは現在、次のアクションをサポートしています。
| 名前 | パラメーター | Description | 返品 |
|---|---|---|---|
クエリの実行 (executeQuery) |
-
クエリ (query): string の種類で必須。 実行する SQL クエリ。 - クエリ パラメーター ( queryParameters): 省略可能 ( object 型)。 含めるクエリ パラメーター。 |
SQL クエリを実行します。 |
arrayとしての SQL クエリの結果。 |
ストアド プロシージャの実行 (executeStoredProcedure) |
-
ストアド プロシージャ名 (storedProcedure): string 型で必須。 実行するストアド プロシージャの名前。 - ストアド プロシージャ パラメーター ( storedProcedureParameters): object 型の省略可能。 含めるストアド プロシージャ パラメーター。 |
ストアド プロシージャを実行し、結果セットと出力パラメーターを返します。 |
-
型のresultSets (string)。 ストアド プロシージャによって返される結果セットの一覧。 - 型の outputParmaters (string)。 ストアド プロシージャによって返される出力パラメーター値。 |
行の取得 (getRows) |
-
テーブル名 (tableName): string の種類で必須。 ソース テーブルの名前。 - Where Condition ( columnValuesForWhereCondition): object 型では省略可能。 取得する行を識別する列のキーと値のペア。 - 行の取得 ( skipCount) のオフセット: string 型の場合は省略可能。 スキップするエントリの数。 既定値は 0 です。 - 最大行 数 ( maxcount): string の種類では省略可能です。 取得する行の最大数。 既定値は 0 です。 - 列の順序付け ( orderBy): 省略可能 ( string 型)。 クエリ結果の順序付けに使用する列名。 - 列の選択 ( filterBy): 省略可能 (string 型)。 テーブルまたはビューから取得する列の値。 |
指定した条件に基づいて 1 つ以上の行を取得します。 |
arrayとしてフェッチされた行。 |
テーブルの取得 (getTables) |
現在のユーザーが所有するテーブルのみを返す (ownedTables): string 型の省略可能。 所有者が指定されたユーザーであるテーブルのみを返します。 |
テーブルの一覧を取得します。 |
arrayとしてのテーブルの一覧。 |
行の挿入 (insertRow) |
-
テーブル名 (tableName): string の種類で必須。 テーブルの名前。 - 列の設定 ( setColumns): object タイプは省略可能。 行フィールドの値。 |
行を挿入します。 |
object型の挿入された行。 |
前提条件
Azure アカウントとサブスクリプション。 無料の Azure アカウントを取得します。
Oracle データベースに接続する場所からのロジック アプリのリソースとワークフロー。
このコネクタでは、アクションのみが提供され、トリガーは提供されません。 ワークフローを開始する任意のトリガーを使用できます。 ロジック アプリのリソースとワークフローを作成し、トリガーを追加するには、次を参照してください。
- Azure Logic Apps のコンシューマション ロジック アプリ ワークフローを作成します。
- Azure Logic Appsで標準ロジックアプリワークフローを作成します
- トリガーをワークフローに追加する
マネージド コネクタの前提条件(コンシュームとスタンダード)
オンプレミス データ ゲートウェイをダウンロードしてインストールする。
このゲートウェイはブリッジとして機能し、オンプレミス データとアプリまたはクライアント間の安全なデータ転送を提供します。 同じゲートウェイのインストールを複数のサービスやデータ ソースで使用できるため、ゲートウェイのインストールは 1 回で済む場合があります。
オンプレミス データ ゲートウェイをインストールしたコンピューターに Oracle クライアントをインストールする。 そうしないと、接続の作成または使用を試みた場合にエラーが発生します。
組み込みのコネクタの前提条件 (Standard、プレビュー)
ホスト、ポート、DNS 解決、ファイアウォール規則など、Standard ロジック アプリ ワークフローが Oracle エンドポイントに到達できることを確認します。
Oracle データベース接続を作成するときは、次の値が必要です。
- Oracle データベース サーバーの IP アドレス
- ユーザー名
- パスワード
サーバー IP アドレスの場合は、次の形式でこの値を指定します。
Format 構文 Example Easy Connect (非 SSL) < host>:<port>/<database-service-name> localhost:1522/XETransparent Network Substrate (TNS) 記述子 (SSL): 完全な Oracle データソース記述子 (description=(retry_count=<リトライ回数>)(retry_delay=<遅延時間>)(address=(protocol=tcps)(port=<ポート番号>)(host=<ホスト>))(connect_data=(service_name=<サービス名>))(security=(ssl_server_dn_match=yes))) (description=(retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=localhost))(connect_data=(service_name=XE))(security=(ssl_server_dn_match=yes))) この例で使用されている [行の取得] アクションについて、アクセスするテーブルの識別子を把握しておく必要があります。
この情報がわからない場合は、Oracle Database 管理者に問い合わせるか、ステートメント
select * from <table-name>から出力を取得します。
既知の問題と制限事項
現在のコネクタのバージョンでは、トリガーはサポートされていません。 シナリオに合ったトリガーを使用してワークフローを開始し、Oracle アクションを追加します。
| Connector | Limitations |
|---|---|
| 管理された | - 複合キーを持つテーブル - 入れ子になったオブジェクト型を持つテーブル - 非スカラー値を持つデータベース関数 |
| 組み込み | - 専用の更新または削除アクションはありません。 更新と削除のシナリオでは、 クエリの実行 アクションまたは ストアド プロシージャの実行 アクションを使用します。 - 接続の問題の一部は、接続の作成時ではなく、ワークフロー ランタイムでのみ発生する可能性があります。 |
アクションを追加します
Oracle アクションを追加して使用する手順は、組み込みのコネクタとマネージド コネクタのどちらを使用するかによって異なります。
組み込みのコネクタ アクションを追加する (Standard、プレビュー)
Azure portal で、Standard ロジック アプリ リソースを開きます。
デザイナーでワークフローを開きます。
一般的な手順に従って、ワークフローに必要な Oracle Database アクションを追加します。
この例では、[行の 取得 ] アクションを続行します。
[接続情報] ウィンドウで、必要な情報 (必要な接続名、Oracle データベース サーバーの IP アドレス、ユーザー名、パスワードなど) を入力します。
スクリーンショットには、Azure ポータル、標準ワークフロー デザイナー、および「行の取得」アクション用の Oracle Database 接続ペインが表示されています。
完了したら、[ 新規作成] を選択します。
アクション情報ペインで、選択したアクションに必要なパラメーター値を入力します。
たとえば、[ 行の取得 ] アクションを選択した場合は、テーブル名を入力します。
ワークフローを完了するために必要なその他のアクションを追加します。
ワークフローを保存します。 デザイナー ツールバーで、保存を選択します。
マネージド コネクタ アクションの追加 (消費型と標準型)
Azure ポータルで、Consumption または Standard ロジック アプリ リソースを開きます。
デザイナーでワークフローを開きます。
一般的な手順に従って、ワークフローに必要な Oracle Database アクションを追加します。
この例では、[行の取得] アクションを引き続き使用します。
[接続情報] ウィンドウで、必要な 接続情報を入力します。
[ゲートウェイ] プロパティでは、使用する Azure サブスクリプションと Azure ゲートウェイ リソースを選択します。
接続が完了したら、[ テーブル名 ] ボックスの一覧からテーブルを選択します。
[行 ID] プロパティに、テーブルに必要な行 ID を入力します。
次の例では、人事データベースからジョブ データが返されます。
ワークフローを完了するために必要なその他のアクションを追加します。
ワークフローを保存します。 デザイナー ツールバーで、保存を選択します。
Oracle データベースの接続に関する問題のトラブルシューティング
エラー: ゲートウェイに接続できません
原因: オンプレミス データ ゲートウェイがクラウドに接続できません。
対応策: ゲートウェイをインストールしたオンプレミス コンピューターでそのゲートウェイが実行されており、インターネットに接続されていることを確認します。 電源がオフになっているかスリープ状態になる可能性があるコンピューターにゲートウェイをインストールしないでください。 オンプレミス データ ゲートウェイ サービス (PBIEgwService) を再起動してみることもできます。
エラー: 使用中のプロバイダーは非推奨です: "System.Data.OracleClient には Oracle クライアント ソフトウェア バージョン 8.1.7 以降が必要です。" 公式プロバイダーをインストールするには、https://go.microsoft.com/fwlink/p/?LinkID=272376 を参照してください。
原因: オンプレミス データ ゲートウェイが実行されているコンピューターに Oracle クライアント SDK がインストールされていません。
解決策: Oracle クライアント SDK をダウンロードして、オンプレミスのデータ ゲートウェイと同じコンピューターにインストールします。
エラー: テーブル '[Tablename]' には、キー列が定義されていません
原因: テーブルに主キーがありません。
解決策: Oracle Database コネクタでは、主キー列が含まれるテーブルを使用する必要があります。