# Oracle の Workato への接続

このガイドでは、Oracle データベースを Workato ワークスペースに接続する方法について説明します。

Oracle コネクターは、認証に基本認証を使用します。

# 前提条件

Oracle を接続するには、以下が必要です。

  • 接続するデータベースに対する 読み取りと書き込み の権限を付与されたデータベースユーザー、 または
  • データベースユーザーを作成して権限を割り当てることができる権限

# ステップ1: Oracle データベースユーザーを設定する

データベースユーザーアカウントには、最低でもコネクション設定で指定されているデータベースに対する SELECT 権限が付与されている必要があります。業務で使用する Oracle サーバーのコネクション設定を担当しているユーザーは、下記の例で、権限の設定方法について詳細を確認してください。

権限の設定方法については、こちらをクリックしてください。

Oracle インスタンスの名前付きスキーマ (HR_PROD) に、新しいデータベースユーザー WORKATO を使用して接続する場合は、以下のサンプルクエリーを使用できます。

はじめに、Workato との統合ユースケース専用の新規ユーザーを作成します。

CREATE USER WORKATO IDENTIFIED BY password

次に、このユーザーに CONNECT を付与します。

GRANT CONNECT TO WORKATO;

これにより、ユーザーは Oracle インスタンスにログインするためのアクセス権を得られます。ただし、このユーザーにテーブルへのアクセス権はありません。

次のステップでは、HR_PROD スキーマの SUPPLIER テーブルへのアクセス権を付与します。この例では、SELECTINSERT の権限のみを付与します。

GRANT SELECT,INSERT ON HR_PROD.SUPPLIER TO WORKATO;

最後に、このユーザーが必要な権限を持っていることを確認します。付与されている全権限を表示するクエリーを実行します。

SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE = 'WORKATO';
SELECT * FROM DBA_TAB_PRIVS WHERE GRANTEE = 'WORKATO';

これにより、以下に示す、Workato で Oracle のコネクションを作成するために必要な最低限の権限が返されるはずです。

+---------+--------------+--------------+--------------+
| GRANTEE | GRANTED_ROLE | ADMIN_OPTION | DEFAULT_ROLE |
+---------+--------------+--------------+--------------+
| WORKATO | CONNECT      | NO           | YES          |
+---------+--------------+--------------+--------------+>

+---------+---------+------------+---------+-----------+-----------+-----------+
| GRANTEE | OWNER   | TABLE_NAME | GRANTOR | PRIVILEGE | GRANTABLE | HIERARCHY |
+---------+---------+------------+---------+-----------+-----------+-----------+
| WORKATO | HR_PROD | SUPPLIER   | ROOT    | SELECT    | NO        | NO        |
| WORKATO | HR_PROD | SUPPLIER   | ROOT    | INSERT    | NO        | NO        |
+---------+---------+------------+---------+-----------+-----------+-----------+
3 rows in set (0.61 sec)

# ステップ2: Workato でコネクション設定を定義する

Workato の以下の項目に入力して、コネクションを設定します。

項目 説明
Connection name このコネクションに対して、接続先の Oracle インスタンスを識別する一意の名前を付けます。
Database host ホストされたサーバーの URL。
Database port サーバーが動作するポート番号。通常は 1521 です。
User name ステップ1で作成したデータベースユーザーのユーザー名。
Password データベースユーザーのパスワード。
Database name 接続する Oracle データベースインスタンスの SID またはサービス名。
Advanced settings 日時処理の変更やデータベースタイムゾーンの設定など、コネクションの詳細設定が含まれます。詳細については、次のセクションを参照してください。
Is this app in a private network? 直接接続が許可されていないネットワークでデータベースを実行している場合は、オンプレミスエージェントを選択します。接続を試行する前に、アクティブなオンプレミスエージェントがあることを確認します。詳細については、オンプレミスエージェントに関するガイドをご覧ください。

# ステップ3: 詳細設定を行う

TIP

このステップは任意ですが、 [Use improved datetime handling] 設定は定義することを強くお勧めします。これらの設定を使用してデータベースのローカルタイムゾーンを定義することで、挿入時の日時のタイムゾーンの変換が容易になります。

Oracle コネクターには、以下の詳細設定があります。

項目 説明
Use improved datetime handling デフォルトのデータベースタイムゾーンの UTC をオーバーライドします。有効にすると、挿入時に date および timestamp データ型が、指定したデータベースタイムゾーンに変換されます。

: この設定は Insert アクションのみに適用されます。
Database timezone データベースのローカルタイムゾーンを定義します。[Use improved datetime handling] を有効に設定しておく必要があります。この項目を定義しないと、Workato ではタイムゾーンに UTC が使用されます。また、[Use improved datetime handling] が有効でない場合、この設定は無視されます。

: この設定は Insert アクションのみに適用されます。

これらの設定が Insert アクションdatetime データの処理に及ぼす影響について、いくつかの例を確認してみましょう。

いずれの例も、データベースのタイムゾーンが UTC -04:00 (東部標準時) に設定されているものとします。

挿入元の値 挿入先の列 挿入先の値
2020-12-02 10:00:00

挿入元の値にタイムゾーン情報がない場合
タイムゾーン対応 (DATE または TIMESTAMP) でない 2020-12-02 10:00:00

変換が不要なため、値はそのまま挿入されます
2020-12-02 10:00:00

挿入元の値にタイムゾーン情報がない場合
タイムゾーン対応 (TIMESTAMP WITH TIME ZONE) 2020-12-02 10:00:00 -04:00

値にデータベースタイムゾーンが適用されます
2020-12-02 10:00:00 -07:00

挿入元の値にタイムゾーン情報があっても、それがデータベースタイムゾーン (UTC -04:00) と異なる場合
タイムゾーン対応 (DATE または TIMESTAMP) でない 2020-12-02 13:00:00

データベースタイムゾーンを使用して値が変換されます
2020-12-02 10:00:00 -07:00

挿入元の値にタイムゾーン情報があっても、それがデータベースタイムゾーン (UTC -04:00) と異なる場合
タイムゾーン対応 (TIMESTAMP WITH TIME ZONE) 2020-12-02 13:00:00 -04:00

データベースタイムゾーンを使用して値が変換されます

# ステップ4: 接続を完了する

設定を終えたら、 [Connect] をクリックしてコネクションを完了します。

# 次のステップ

Oracle コネクターの詳細については、以下のリンクを参照してください。


Last updated: 2023/8/31 1:07:14