Oracle Database
Oracle Database は、Oracle によって開発されたリレーショナル データベース管理システムです。 オンプレミスの Oracle Database に接続して、テーブル内の行の作成、更新、取得、削除などのさまざまなアクションを実行します。
このコネクタは、次の製品とリージョンで使用できます。
| サービス | クラス | リージョン |
|---|---|---|
| コピロット スタジオ | Premium | すべての地域 Power Automate |
| ロジック アプリ | Standard | 次を除くすべての Logic Apps リージョン : - 米国国防総省 (DoD) |
| Power Apps | Premium | すべての Power Apps リージョン |
| Power Automate | Premium | すべての地域 Power Automate |
| お問い合わせ | |
|---|---|
| 名前 | Microsoft |
| URL |
Microsoft LogicApps のサポート Microsoft Power Automate のサポート Microsoft Power Apps のサポート |
| コネクタ メタデータ | |
|---|---|
| Publisher | Microsoft |
| Website | https://www.oracle.com/database/ |
| プライバシー ポリシー | https://www.oracle.com/legal/privacy/ |
この記事では、Azure Logic Apps、Microsoft Power Apps、および Microsoft Power Automate で使用できる Oracle Database コネクタの操作について説明します。 このコネクタを使用して、オンプレミスの Oracle Database または Oracle Database がインストールされた Azure 仮想マシンに接続できます。
- Power Apps でこのコネクタを使用するには、「Power Apps から Oracle データベースに接続する」を参照してください。
新着情報
次の表では、Oracle Databaseconnector の新しい更新プログラムと機能について説明します。
| Update | Description |
|---|---|
| 2018 年 10 月 | Oracle ストアド プロシージャをサポートします。 |
| 2018 年 1 月 | Oracle ビューを読み取り専用テーブルとしてサポートします。 |
[前提条件]
サポートされている Oracle のバージョン:
- Oracle 9 以降
- Oracle Data Access Client (ODAC) 11.2 以降
Oracle Database がインストールされているオンプレミスの Oracle データベースまたは Azure 仮想マシンに接続するには、 オンプレミス データ ゲートウェイをインストールする必要があります。
このゲートウェイはブリッジとして機能し、オンプレミスのデータとアプリまたはクライアント間の安全なデータ転送を提供します。 複数のサービスとデータ ソースで同じゲートウェイ インストールを使用できます。つまり、ゲートウェイをインストールする必要があるのは 1 回だけです。
Microsoft Power Apps については、「 Power Apps でのオンプレミス データ ゲートウェイの管理」も参照してください。
Azure Logic Apps の場合は、コネクタを使用する前に、ゲートウェイインストール用の Azure ゲートウェイ リソースも作成する必要があります。 詳細については、「 ロジック アプリからオンプレミス データに接続する」を参照してください。
オンプレミス データ ゲートウェイをインストールしたコンピューターに Oracle クライアントをインストールします。 64 ビット Oracle Data Provider for .NET を Oracle からインストールし、
xcopyバージョンがオンプレミス データ ゲートウェイ ( Windows x64 用 64 ビット ODAC 12c リリース 4 (12.1.0.2.4)) で動作しないため、Windows インストーラーのバージョンを選択してください。 インストールを確認するには、次の PowerShell コマンドを実行します:[System.Data.Common.DbProviderFactories]::GetFactoryClasses()。 Oracle クライアントがインストールされている場合は、結果に "OracleClient データ プロバイダー" と表示されます。注
Oracle クライアントがインストールされていない場合は、接続を作成または使用しようとしたときにエラーが発生します。 詳細については、「 一般的な接続エラー」セクションを参照してください。
コネクタ操作を実行する前に、Oracle クライアントで 、ORA_NCHAR_LITERAL_REPLACE という名前の環境変数を TRUE に設定します。
この設定 により、NCHAR 文字列リテラルの置換が有効になり、データベース文字セットを超える文字を含む文字列リテラルが NCHAR/NVARCHAR/NCLOB 型列に挿入されるときにデータが失われるのを防ぐことができます。 ステートメントを実行すると、文字列リテラルは内部形式に変換され、Unicode に正しくデコードされます。
既知の問題と制限事項
Oracle Datbase コネクタの既知の制限事項を次に示します。
サポートされていません:
- 複合キーを持つ任意のテーブル
- テーブル内の入れ子になったオブジェクト型
- 非スカラー値を持つデータベース関数
- Oracle Functions を使用すると、UI に表示されません。
Oracle サーバーでストアド プロシージャを呼び出す場合、次の制限事項が適用されます。
- OUT パラメーターはサポートされていません。
- ストアド プロシージャは結果を返さないので、戻り値を使用できません。
応答サイズの制限は 8 MB です。
要求サイズの制限は 2 MB です。
Oracle ネイティブ クエリは、次の制限でサポートされています。
- ゲートウェイ バージョン 3000.63.4 (10 月のリリース) 以降が必要です。
- RefCursor はサポートされていません。
- OUT パラメーターはサポートされていません。
- 返すことができる結果セットは 1 つだけです。
次のデータ型は、クエリ オプション述語として使用できません。
- DATE
- TIMESTAMP
- タイムゾーンを含む TIMESTAMP
- ローカル タイムゾーンを含む TIMESTAMP
Oracle クエリまたはストアド プロシージャの実行時間が 110 秒を超えると、アクションはタイムアウトします。
テーブルを挿入して更新しても、完全な項目は返されません。 操作の入力プロパティのみが返されます。
行の取得操作の決定的なページング結果を 取得 するには、主キーが必要です。
行の挿入操作では、既定または自動作成の値が定義されている場合でも、主キー列に明示的な値を指定する必要があります。
UI コンポーネントの制限により、デザイン時にレンダリングされるテーブルの一覧には 2,048 を超える要素を表示できません。これは、次に例を示す テーブルの取得 操作の既定のページ サイズです。
- "テーブル名" という名前の 行の取得 アクション パラメーターのテーブルの一覧。
- Power Apps デザイナーの [接続の作成/テーブルの選択] フローのテーブルの一覧。
Oracle データベースの操作中に待機時間が発生した場合は、ゲートウェイがクラスターである場合は、ゲートウェイ マシンまたは各ゲートウェイ マシンに最新の 64 ビット Oracle データ アクセス コンポーネント (ODAC) をインストールします。
Oracle 接続の作成がタイムアウトで失敗した場合は、最小限のアクセス許可で Oracle 資格情報を使用してみてください。 こうすることで、接続の軽量化が進み、接続の作成時にタイムアウトが発生するのを回避できます。
一般的な接続エラー
エラー: ゲートウェイに到達できません
原因: オンプレミス データ ゲートウェイがクラウドに接続できません。
軽減策: ゲートウェイがインストールされ、インターネットに接続されているオンプレミスコンピューターでゲートウェイが実行されていることを確認します。 電源がオフになっているかスリープ状態になる可能性があるコンピューターにゲートウェイをインストールしないでください。 オンプレミス データ ゲートウェイ サービス (PBIEgwService) を再起動することもできます。
エラー: 使用中のプロバイダーは非推奨です。'System.Data.OracleClient には Oracle クライアント ソフトウェア バージョン 8.1.7 以降が必要です。' 公式プロバイダーをインストールするには、 https://go.microsoft.com/fwlink/p/?LinkID=272376 を参照してください。
原因: オンプレミス データ ゲートウェイが実行されているコンピューターに Oracle クライアント SDK がインストールされていません。
解決策: オンプレミス データ ゲートウェイと同じコンピューターに Oracle クライアント SDK をダウンロードしてインストールします。
エラー: テーブル '[Tablename]' でキー列が定義されていません
原因: テーブルに主キーがありません。
解決策: Oracle Database コネクタでは、主キー列を含むテーブルを使用する必要があります。
一般的な制限
| 名前 | 価値 |
|---|---|
| 接続ごとにコネクタによって同時に処理される要求の最大数 | 200 |
| 接続ごとに同時にコネクタを介して転送される最大メガバイト数 | 30 |
接続を作成する
コネクタでは、次の認証の種類がサポートされています。
| デフォルト | 接続を作成するためのパラメーター。 | すべてのリージョン | 共有可能 |
デフォルト
適用対象: すべてのリージョン
接続を作成するためのパラメーター。
これは共有可能な接続です。 電源アプリが別のユーザーと共有されている場合は、接続も共有されます。 詳細については、 キャンバス アプリのコネクタの概要 - Power Apps |Microsoft Docs
| 名前 | タイプ | Description | 必須 |
|---|---|---|---|
| Server | 文字列 | Oracle サーバーを指定します。 ポートまたは SID が必要な場合は、ServerName:Port/SID の形式で指定します。 | 正しい |
| 認証の種類 [基本の選択] | 文字列 | データベースに接続するための認証の種類 | |
| ユーザー名 | securestring | ユーザー名の資格情報 | 正しい |
| パスワード | securestring | パスワード資格情報 | 正しい |
| Gateway | gatewaySetting | オンプレミス ゲートウェイ (詳細については、 https://docs.microsoft.com/data-integration/gateway を参照してください) | 正しい |
調整制限
| 名前 | 呼び出し | 更新期間 |
|---|---|---|
| 接続ごとの API 呼び出し | 1500 | 60 秒 |
アクション
| Oracle クエリを実行する |
Oracle クエリを実行する |
| ストアド プロシージャの実行 |
この操作では、ストアド プロシージャが実行されます。 |
| テーブルを取得する |
この操作では、データベースからテーブルを取得します。 |
| 行の削除 |
この操作により、テーブルから行が削除されます。 |
| 行の挿入 |
この操作により、テーブルに新しい行が挿入されます。 |
| 行を取得する |
この操作は、テーブルから行を取得します。 |
| 行を取得する |
この操作は、テーブルから行を取得します。 |
| 行を更新します |
この操作では、テーブル内の既存の行が更新されます。 |
Oracle クエリを実行する
Oracle クエリを実行する
パラメーター
| 名前 | キー | 必須 | 型 | 説明 |
|---|---|---|---|---|
|
Query
|
query | True | dynamic |
クエリ本文 |
戻り値
ストアド プロシージャの実行
この操作では、ストアド プロシージャが実行されます。
パラメーター
| 名前 | キー | 必須 | 型 | 説明 |
|---|---|---|---|---|
|
プロシージャ名
|
procedure | True | string |
ストアド プロシージャの名前 |
|
パラメーター の一覧
|
parameters | True | dynamic |
ストアド プロシージャへの入力パラメーター |
戻り値
テーブルを取得する
行の削除
この操作により、テーブルから行が削除されます。
パラメーター
| 名前 | キー | 必須 | 型 | 説明 |
|---|---|---|---|---|
|
テーブル名
|
table | True | string |
テーブルの名前 |
|
行 ID
|
id | True | string |
削除する行の一意識別子 |
行の挿入
この操作により、テーブルに新しい行が挿入されます。
パラメーター
| 名前 | キー | 必須 | 型 | 説明 |
|---|---|---|---|---|
|
テーブル名
|
table | True | string |
テーブルの名前 |
|
Row
|
item | True | dynamic |
指定したテーブルに挿入する行 |
戻り値
行を取得する
この操作は、テーブルから行を取得します。
パラメーター
| 名前 | キー | 必須 | 型 | 説明 |
|---|---|---|---|---|
|
テーブル名
|
table | True | string |
Oracle テーブルの名前 |
|
行 ID
|
id | True | string |
取得する行の一意識別子 |
戻り値
行を取得する
この操作は、テーブルから行を取得します。
パラメーター
| 名前 | キー | 必須 | 型 | 説明 |
|---|---|---|---|---|
|
テーブル名
|
table | True | string |
Oracle テーブルの名前 |
|
フィルター クエリ
|
$filter | string |
返されるエントリを制限する ODATA フィルター クエリ (例: stringColumn eq 'string' OR numberColumn lt 123)。 |
|
|
並べ替え
|
$orderby | string |
エントリの順序を指定するための ODATA orderBy クエリ。 |
|
|
上位カウント
|
$top | integer |
取得するエントリの合計数 (既定値 = すべて)。 |
|
|
Skip Count
|
$skip | integer |
スキップするエントリの数 (既定値は 0)。 |
|
|
クエリの選択
|
$select | string |
エントリから取得する特定のフィールド (既定値 = すべて)。 |
戻り値
行を更新します
この操作では、テーブル内の既存の行が更新されます。
パラメーター
| 名前 | キー | 必須 | 型 | 説明 |
|---|---|---|---|---|
|
テーブル名
|
table | True | string |
テーブルの名前 |
|
行 ID
|
id | True | string |
更新する行の一意識別子 |
|
Row
|
item | True | dynamic |
更新された値を含む行 |
戻り値
定義
表
テーブルを表します。
| 名前 | パス | 型 | 説明 |
|---|---|---|---|
|
名前
|
Name | string |
テーブルの名前。 この名前は実行時に使用されます。 |
|
DisplayName
|
DisplayName | string |
テーブルの表示名。 |
|
DynamicProperties
|
DynamicProperties | object |
コネクタによってクライアントに提供される追加のテーブル プロパティ。 |
TablesList
テーブルの一覧を表します。
| 名前 | パス | 型 | 説明 |
|---|---|---|---|
|
value
|
value | array of Table |
テーブルの一覧 |