OracleをWorkatoに接続する

このページは機械翻訳により提供されています。翻訳内容と英語版に相違がある場合は、英語版が優先されます。

このガイドでは、OracleデータベースをWorkatoに接続する方法について説明します。 次の手順を完了します:

前提条件

開始する前に、次のものがあることを確認してください:

  • 必要な権限を持つOracleデータベースユーザー。
  • データベースホストとポート。
  • DBAから提供されたService name、SID、またはTNS定義。
  • データベースがプライベートネットワーク内で実行されている場合は、有効なオンプレミスエージェント。

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

最低限、データベースユーザーアカウントには、コネクション設定で指定されたデータベースに対するSELECT権限が必要です。 権限を設定するには、次の例を参照してください。

権限の設定方法を確認するには、ここをクリックしてください

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

まず、Workatoでの連携ユースケース専用の新しいユーザーを作成します。

CREATE USER WORKATO IDENTIFIED BY password

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

GRANT CONNECT TO WORKATO;

これにより、ユーザーはOracleインスタンスへのログインアクセス権を持つことができます。 ただし、このユーザーはどのテーブルにもアクセスできません。

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

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: OracleをWorkatoに接続する

Workatoは次のOracleコネクションタイプをサポートしています:

  • クラウドコネクション:Oracleデータベースがパブリックインターネット経由でアクセス可能な場合は、このオプションを使用します。
  • オンプレミスエージェントコネクション:Oracleデータベースがプライベートネットワークで実行されており、接続を確立するためにオンプレミスエージェント(OPA)が必要な場合は、このオプションを使用します。

クラウドコネクション

Cloudコネクションを使用してOracleに接続するには、次の手順を実行します:

1

作成 > コネクションをクリックします。

2

新規コネクションページでOracle を検索して選択します。

3

コネクション名フィールドにコネクションの名前を入力します。

4

ロケーションドロップダウンメニューを使用して、コネクションを保存するプロジェクトを選択します。

5

Connection typeフィールドでCloudを選択します。

6

Database hostフィールドにデータベースホストアドレスを入力します。

7

サーバーが実行されているDatabase portの番号(通常は1521)を入力します。

8

Step 1で作成したデータベースユーザーのUser nameを入力します。

9

データベースユーザーのPasswordを入力します。

10

任意です。 Schemaフィールドにデータベーススキーマを入力します。

11

任意です。 Advanced settingsを展開して、追加のコネクションオプションを設定します。

12

接続をクリックします。

オンプレミスエージェントコネクション

Oracleデータベースがインターネットから直接アクセスできないプライベートネットワークに配置されている場合は、オンプレミスエージェントコネクションを使用します。

オンプレミスエージェント(OPA)を使用してOracleに接続するには、次の手順を実行します:

1

作成 > コネクションをクリックします。

2

新規コネクションページでOracle を検索して選択します。

3

コネクション名フィールドにコネクションの名前を入力します。

4

ロケーションドロップダウンメニューを使用して、コネクションを保存するプロジェクトを選択します。

5

Connection typeフィールドでon-prem groupを選択します。

6

Database typeを選択します。 使用可能なオプションには、Service nameSIDTNSがあります。

SIDおよびTNSデータベースタイプには、オンプレミスエージェントバージョン27.1以降が必要です。

詳細については、Database typesセクションを参照してください。

7

選択したDatabase typeに基づいて、次のフィールドを指定します:

8

Database typeとしてService nameまたはSIDを選択した場合は、次のフィールドに入力します:

1

Database hostフィールドにデータベースホストアドレスを入力します。

2

サーバーが実行されているDatabase portの番号(通常は1521)を入力します。

9

Step 1で作成したデータベースユーザーのUser nameを入力します。

10

データベースユーザーのPasswordを入力します。

11

任意です。 Schemaフィールドにデータベーススキーマを入力します。

12

任意です。 Advanced settingsを展開して、追加のコネクションオプションを設定します。

13

任意です。 Pooling settingsを展開して、Oracleデータベースコネクションプーリングを設定します。

14

任意です。 Additional properties for Oracle connectionを展開して、カスタムOracleコネクションパラメータを追加します。

15

接続をクリックします。

データベースタイプ

Workatoは、Oracleコネクションの作成時にコネクションタイプフィールドでオンプレミスグループを選択した場合にのみ、データベースタイプフィールドを表示します。

コネクションの設定手順については、ステップ2:OracleをWorkatoに接続するを参照してください。

オンプレミスエージェント(OPA)経由で接続する場合は、次のデータベースタイプオプションのいずれかを選択します。

サービス名

サービス名を使用して、Oracleインスタンス内のデータベースサービスに接続します。 例:ORCLPDB1

ORACLE 12C+ PDB Environment

マルチテナントアーキテクチャ(CDB/PDB)を使用するOracle 12c以降のEnvironmentでは、SIDではなくサービス名を使用することをお勧めします。

これらのEnvironmentでは:

  • SIDコネクションはCDBルートコンテナーに接続する場合があります
  • サービス名コネクションは、特定のプラガブルデータベース(PDB)に接続できます

データベースユーザーがPDBに存在する場合、ユーザー名とパスワードが正しくても、CDBルート経由で接続すると認証に失敗することがあります。

サービス名を使用して、コネクションが正しいPDBを対象にするようにします。

サービス名には次の特徴があります:

  • Oracleリスナーに登録されているデータベースサービスにマッピングする
  • Real Application Clustersおよびロードバランシングをサポートする
  • 特定のインスタンスではなく論理データベースサービスを識別する

ほとんどの最新のOracleデプロイメントでは、このオプションを使用します。

SID

SID(System Identifier)を使用して、特定のOracleデータベースインスタンスに接続します。 例:ORCL

SIDには次の特徴があります:

  • 単一のOracleデータベースインスタンスを識別する
  • ロードバランシングをサポートしない
  • 古いOracleデプロイメントで一般的に使用される

DBAがサービス名ではなくSIDを提供する場合は、このオプションを使用します。

TNS

TNSは、完全なOracle Net接続記述子がある場合に使用します。

TNS定義には次の特徴があります:

  • tnsnames.oraファイルで定義されたコネクションエントリを参照する
  • 基盤となるコネクションの詳細を抽象化する
  • 内部でSIDまたはサービス名を使用する場合がある
  • ロードバランシングや高可用性などの高度な設定をサポートする

TNS定義フィールドに完全なTNS記述子を入力します。 例:

text
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=db.example.com)(PORT=1521))
(CONNECT_DATA=
(SERVICE_NAME=ORCLPDB1)
)
)

詳細設定の構成

Oracleコネクターには次の詳細設定があります:

TIP

この手順は任意ですが、Use improved datetime handling設定を定義することを強くお勧めします。 これらの設定により、ローカルのDatabase timezoneを設定し、挿入時の日時タイムゾーン変換を改善できます。

フィールド説明
改善された日時処理を使用デフォルトのDatabase timezoneであるUTCを上書きします。 有効にすると、dateおよびtimestampデータ型は、挿入時に指定したDatabase timezoneに変換されます。

: この設定はInsertアクションにのみ影響します。
データベースのタイムゾーンデータベースのローカルタイムゾーンを定義します。これには**Use improved datetime handling**を有効にする必要があります。 定義されていない場合、WorkatoはタイムゾーンとしてUTCを使用します。 さらに、**Use improved datetime handling**が有効になっていない場合、この設定は適用されません。

: この設定はInsertアクションにのみ影響します。

これらの設定がInsertアクションでのdatetimeデータの処理方法にどのように影響するか、いくつかの例を見てみましょう。

すべての例では、Database timezoneがUTC -04:00(Eastern Standard Time)に設定されていることを前提としています。

ソース値宛先列宛先値
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

ソース値にはタイムゾーンコンポーネントがありますが、Database timezoneUTC -04:00)とは異なります
タイムゾーン非対応(DATEまたはTIMESTAMP)2020-12-02 13:00:00

値はDatabase timezoneを使用して変換されます
2020-12-02 10:00:00 -07:00

ソース値にはタイムゾーンコンポーネントがありますが、Database timezoneUTC -04:00)とは異なります
タイムゾーン対応(TIMESTAMP WITH TIME ZONE)2020-12-02 13:00:00 -04:00

値はDatabase timezoneを使用して変換されます

次の予定

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

Last updated: