Oracle Connector Setup

Version 24.2.9039


Oracle Connector Setup


The Oracle connector allows you to integrate Oracle into your data flow by pushing or pulling data from Oracle. Follow the steps below to connect CData Arc to Oracle.

Prerequisites

Before using an Oracle connector, you must already have a live Oracle database server and a clear network path to that server from Arc.

You must also install and configure the dependencies that Oracle requires. Follow the directions below for your version of Arc.

.NET Edition

  1. Open the Arc installation directory (by default, C:\Program Files\CData\CData Arc).

  2. Open the www folder.

  3. Open the Web.Config file in a text or code editor. This is an XML-formatted file.

  4. Navigate to the element <configuration>/<system.data>/<DbProviderFactories>.

  5. At the bottom of this element, add the following text:

     <remove invariant="Oracle.ManagedDataAccess.Client" />
     <add name="ODP.NET, Managed Driver" invariant="Oracle.ManagedDataAccess.Client" description="Oracle Data Provider for .NET, Managed Driver" type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess" />
    
  6. Save the Web.Config file and close it.

  7. Download the Oracle ODAC .dll files from the Oracle website. Choose the option titled ODP.NET_Managed_ODACxxxx.zip where the xxxx represents the version in the file name.

    Note: Access to this download requires an Oracle account.

  8. Extract the files to a folder. Copy the files in the table below to their corresponding subfolders in the Arc installation directory.

File Name Relative Path to Copy to
Oracle.ManagedDataAccess.dll \bin
Oracle.ManagedDataAccessDTC.dll (x64 version) \bin\x64
Oracle.ManagedDataAccessIOP.dll (x64 version) \bin\x64
Oracle.ManagedDataAccessDTC.dll (x86 version) \bin\x86
Oracle.ManagedDataAccessIOP.dll (x86 version) \bin\x86

Java Edition

  1. Download the Oracle JDBC .jar file from the Oracle website.

    • If you are using the Arc embedded Jetty server, select the latest release of ojdbc11.jar.

    • If you are using another hosting option, select the latest release of either ojdbc11.jar or ojdbc8.jar, depending on the version of JDK your hosting server uses.

  2. Move the file to the appropriate location:

    • If you are using the embedded Jetty server, move the file to the lib folder in the Arc installation directory ([Arc]/lib). If this folder does not exist, create it.

    • If you are using another server, move the file to the lib folder for the server. If this folder does not exist, create it.

Establish a Connection

To allow Arc to use data from Oracle, you must first establish a connection to Oracle. There are two ways to establish this connection:

  • Add a Oracle connector to your flow. Then, in the settings pane, click Create next to the Connection drop-down list.
  • Open the Arc Settings page, then open the Connections tab. Click Add, select Oracle, and click Next.

Note:

  • The login process is only required the first time the connection is created.
  • Connections to Oracle can be re-used across multiple Oracle connectors.

Enter Connection Settings

After opening a new connection dialogue, follow these steps:

  1. Provide the requested information:

    • Name—the static name of the connection. Set this as desired.

    • Type—this is always set to Oracle.

    • Connection Type—the connection type (SID or Service Name) to use.

    • User—the username to use for logging in.

    • Password—the password for the user entered above.

    • Server—the address of the Oracle server you want to connect to.

    • Port—the port to use when connecting to the server.

    • SID/Service—the SID or Service (depending on Connection Type chosen) to use when connecting.

    • Other—other authentication information if needed.

  2. If needed, click Advanced to open the drop-down menu of advanced connection settings. These should not be needed in most cases.

  3. Click Test Connection to ensure that Arc can connect to Oracle with the provided information. If an error occurs, check all fields and try again.

  4. Click Add Connection to finalize the connection.

  5. In the Connection drop-down list of the connector configuration pane, select the newly-created connection.

  6. Click Save Changes.

Note:また、高度な設定タブには、データソース固有の認証および設定オプションがあります。このドキュメントではすべてが説明されているわけではありませんが、各データソースに関する詳細情報はCData Web サイトの製品ドキュメントページで見つけることができます。

アクションを選択する

Oracle への接続を確立したら、Oracle コネクタが実行するアクションを選択する必要があります。以下のテーブルは、各アクションの概要とそれがArc フローのどこに属するかを示しています。

アクション 説明 フローにおけるポジション
Upsert Oracle データを挿入または更新します。デフォルトでは、Oracle にすでにレコードが存在する場合は、入力から提供された値を使用してOracle の既存のデータに対して更新が実行されます。 End
Lookup Oracle から値を取得し、それらの値をフロー内の既存のArc メッセージに挿入します。
ルックアップクエリは、コネクタがOracle から取得する値を決定します。これは、Oracle テーブルに対するSQL クエリとしてフォーマットする必要があります。
Middle
Lookup Stored Procedure コネクタに入力されたデータをストアドプロシージャの入力として扱い、結果をフロー内の既存のArc メッセージに挿入します。
Lookup をテストモーダルにあるサンプルデータを表示ボタンをクリックすると、選択したストアドプロシージャにサンプル入力を提供し、結果をプレビューできます。
Middle
Select Oracle からデータを取得し、それをArc に取り込みます。
フィルタパネルを使用して、Select にフィルタを追加できます。これらのフィルタは、SQL の WHERE 句と同じように機能します。
Beginning
Execute Stored Procedures コネクタに入力されたデータをストアドプロシージャの入力として扱い、結果をフローに渡します。
Execute Stored Procedure をテストモーダルにあるサンプルデータを表示ボタンをクリックすると、選択したストアドプロシージャにサンプル入力を提供し、結果をプレビューできます。
Middle

オートメーションタブ

オートメーション設定

コネクタによるファイルの自動処理に関する設定。

  • 送信 コネクタにインプットされたファイルを自動的に送信するかどうか。
  • 再試行間隔(分) 送信に失敗した場合に再試行するまでの分数。
  • 最大試行回数 コネクタがファイルを処理する最大回数。成功したかどうかは、サーバーの応答が成功したかどうかで判断されます。0に設定すると、コネクタは無期限にファイルを再試行します。
  • 受信 コネクタが自動的にデータソースにクエリを実行するかどうか。
  • 受信間隔 自動的にクエリを試行する間隔。
  • 毎時何分 時間単位のスケジュールの分オフセット。上記の受信間隔の設定が Hourly に設定されている場合にのみ適用されます。例えば、この値を5 に設定すると、自動的に1:05、2:05、3:05 のようにダウンロードを行います。
  • 試行が行われる時刻。上記の受信間隔の設定が DailyWeekly、または Monthly に設定されている場合にのみ適用されます。
  • 曜日/日付 試行が行われる日。上記の受信間隔の設定が Weekly または Monthly に設定されている場合にのみ適用されます。
  • ダウンロードを試行するまでの待機時間。上記の受信間隔の設定が Minute に設定されている場合にのみ適用されます。
  • Cron 式 いつ試行するかを決定するcron 式を表す5つの欄の文字列。上記の受信間隔の設定が Advanced に設定されている場合にのみ適用されます。

パフォーマンス

コネクタへのリソースの割り当てに関する設定。

  • 最大ワーカー数 このコネクタでファイルを処理するためにスレッドプールで消費されるワーカースレッドの最大数。設定された場合、これは設定 > オートメーションページのデフォルト設定をオーバーライドします。
  • 最大ファイル数 コネクタに割り当てられた各スレッドが送信するファイルの最大数。設定された場合、これは設定 > オートメーションページのデフォルト設定をオーバーライドします。

アラートタブ

アラートとサービスレベル(SLA)の設定に関連する設定。

コネクタのE メール設定

サービスレベル(SLA)を実行する前に、通知用のE メールアラートを設定する必要があります。アラートを設定をクリックすると、新しいブラウザウィンドウで設定ページが開き、システム全体のアラートを設定することができます。詳しくは、アラートを参照してください。

サービスレベル(SLA)の設定

サービスレベルでは、フロー内のコネクタが送受信すると予想される処理量を設定し、その量が満たされると予想される時間枠を設定できます。CData Arc は、サービスレベルが満たされていない場合にユーザーに警告するE メールを送信し、SLA を At Risk(危険) としてマークします。これは、サービスレベルがすぐに満たされない場合に Violated(違反) としてマークされることを意味します。これにより、ユーザーはサービスレベルが満たされていない理由を特定し、適切な措置を講じることができます。At Risk の期間内にサービスレベルが満たされなかった場合、SLA はViolated としてマークされ、ユーザーに再度通知されます。

サービスレベルを定義するには、予想処理量の条件を追加をクリックします。

  • コネクタに個別の送信アクションと受信アクションがある場合は、ラジオボタンを使用してSLA に関連する方向を指定します。
  • 検知基準(最小)を、処理が予想されるトランザクションの最小値(量)に設定し、フィールドを使用して期間を指定します。
  • デフォルトでは、SLA は毎日有効です。これを変更するには、毎日のチェックをOFF にし、希望する曜日のチェックをON にします。
  • 期間終了前にステータスを’At Risk’ に設定するタイミングを使用して、SLA がAt Risk としてマークされるようにします。
  • デフォルトでは、通知はSLA が違反のステータスになるまで送信されません。これを変更するには、‘At Risk’ 通知を送信のチェックをON にします。

次の例は、月曜日から金曜日まで毎日1000ファイルを受信すると予想されるコネクタに対して構成されたSLA を示しています。1000ファイルが受信されていない場合、期間終了の1時間前にAt Risk 通知が送信されます。

高度な設定タブ

高度な設定タブの設定の多くは操作しているデータソースから動的にロードされるため、このドキュメントではカバーしていません。各データソースに関する詳細情報はCData Web サイトの製品ドキュメントページで見つけることができます。

以下で説明するオプションは、すべてのデータソースで利用可能です。

メッセージ

  • Sent フォルダに保存 チェックすると、コネクタで処理されたファイルをコネクタのSent フォルダにコピーします。
  • Sent フォルダのスキーム 選択された時間間隔に従ってSent フォルダ内のメッセージをグループ化するようコネクタに指示します。例えば、Weekly オプションを選択すると、コネクタは毎週新しいサブフォルダを作成してその週のすべてのメッセージをそのフォルダに格納します。ブランクに設定すると、コネクタはすべてのメッセージをSent フォルダに直接保存します。多くのメッセージを処理するコネクタの場合、サブフォルダを使用するとメッセージが整理されてパフォーマンスが向上します。

高度な設定

高度な設定 は、さまざまなデータソースに接続するために、任意のデータベースドライバー(Database、CData、API コネクタなど)に依存するコネクタの一般的な設定です。

  • 自動切り捨て 有効にすると、コネクタは制限値を超える文字列またはバイナリカラム値を自動的に切り捨てます。
  • コマンドタイムアウト コマンド実行のタイムアウト時間(秒)。
  • 最後に挿入されたId をクエリ 最後に挿入されたレコードの自動更新後のId を取得するために実行するクエリを指定します。
  • ログレベル コネクタが生成するログの詳細度。サポートを依頼する際は、Debug に設定してください。
  • ローカルファイルスキーム コネクタがアウトプットするメッセージにファイル名を割り当てるスキーム。ファイル名にマクロを動的に使用して、識別子やタイムスタンプなどの情報を含めることができます。詳しくは、マクロ を参照してください。
  • メッセージをログ ON にすると、コネクタはLogs ディレクトリ内のメッセージ用にログと共にメッセージのコピーを保存します。この設定を無効にすると、インプットまたはアウトプットタブからファイルのコピーをダウンロードできなくなる可能性があります。
  • 最大失敗レコード数 挿入中に失敗しても処理の続行を許可するレコードの最大数。デフォルト値の0の場合、どんなエラーでも入力メッセージはError とマークされ、未実行のトランザクションは取り消されます。値が-1 の場合、すべてのエラーは無視され、コネクタはその後のレコードの挿入を試行し続けます。値が正の場合、コネクタは閾値に達するまでレコードの挿入を試行し続けます。
  • アウトプットファイル形式 アウトプットデータを表示する形式。デフォルト値(XML)の場合、コネクタは処理した各レコードについてXML ファイルを出力します。オプションとして、最大レコード数の値に応じて単一のデータ構造に複数のレコードをまとめることができます。CSV、TSV オプションでは各データ形式でデータを出力します。このオプションは子テーブルといった複雑なテーブル構造には利用できません。
  • 処理変更間隔の単位 Select アクションにのみ適用されます。設定タブのSelect の設定セクションにある高度な設定部分で、「新規または変更されたレコードを処理するためにカラムcolumnname を使用する。」がチェックされている場合に、プロセス変更間隔設定の解釈方法を制御します(例えば、Hours、Days、Weeks)。この設定、および次の2つの設定の詳細については、Only Process New or Changed Records を参照してください。
  • プロセス変更間隔 設定タブのSelect の設定セクションで「新規または変更されたレコードを処理するためにカラムcolumnname を使用する。」がチェックされている場合に、Arc が最初の試行で処理を試みる履歴データの量を制御します。例えば、デフォルトの180(Days)を使用した場合、Arc は、過去180日以内に作成または変更されたデータのみの処理を試みることを意味します。
  • プロセス変更開始日 設定タブのSelect の設定セクションで「新規または変更されたレコードを処理するためにカラムcolumnname を使用する。」がチェックされている場合に、取得するデータの開始日を制御します。
  • 履歴をリセット新規または変更されたレコードを処理するためにカラムcolumnname を使用する。」がチェックされている場合に、保存されたキャッシュをリセットします。
  • バッチインプットサイズ バッチがデータソースによってサポートされている場合、バッチ1回のクエリの最大数。
  • バッチサイズ バッチグループ内のバッチメッセージの最大数。
  • 最大レコード数 1つのアウトプットメッセージに含める最大のレコード数。すべてのアウトプットレコードを1つのファイルに入れるには-1を使用し、設定済みのアウトプットファイル形式に基づいてコネクタが決定できるようにするには0を使用します。デフォルトでは、XML は1ファイルにつき1レコードを出力し、フラットファイル形式はすべてのレコードを1ファイルに含めます。
  • トランザクションサイズ トランザクション1回のクエリの最大数。
  • 処理の遅延 インプットフォルダに置かれたファイルの処理を遅延させる時間(秒)。これは旧式の設定です。代替として、ローカルファイルシステムの管理にはFile コネクタの使用がベストプラクティスです。
  • ログサブフォルダのスキーム 選択された時間間隔に従ってLogs フォルダ内のファイルをグループ化するようコネクタに指示します。例えば、Weekly オプションを選択すると、コネクタは毎週新しいサブフォルダを作成してその週のすべてのログをそのフォルダに格納します。ブランクに設定すると、コネクタはすべてのログをLogs フォルダに直接保存します。多くのトランザクションを処理するコネクタの場合、サブフォルダを使用するとログが整理されてパフォーマンスが向上します。

その他

その他の設定 は特定のユースケースのための設定です。

  • その他の設定 セミコロン区切りのリスト(例:setting1=value1;setting2=value2)で非表示のコネクタ設定を行うことができます。通常のコネクタのユースケースや機能では、これらの設定を使用する必要はありません。

マクロ

ファイルの命名規則にマクロを使用することで、組織の効率とデータの文脈的理解を高めることができます。マクロをファイル名に組み込むことで、識別子、タイムスタンプ、ヘッダー情報などの関連情報を動的に含めることができ、各ファイルに有益なコンテキストを付与できます。これにより、組織にとって重要な詳細をファイル名に反映させることができます。

CData Arc はこれらのマクロをサポートしており、すべて次の構文を使用します:%Macro%

Macro 説明
ConnectorID コネクタのConnectorID を返します。
Ext コネクタが処理中のファイルの拡張子を返します。
Filename コネクタが処理中のファイルのファイル名(拡張子を含む)を返します。
FilenameNoExt コネクタが処理中のファイルのファイル名(拡張子なし)を返します。
MessageId コネクタがアウトプットするメッセージのMessageId を返します。
RegexFilename:pattern コネクタで処理中のファイルのファイル名にRegEx パターンを適用します。
Header:headername コネクタが処理中のメッセージのヘッダー(headername)の値を返します。
LongDate システムの現在の日時を長い形式(例:Wednesday, January 24, 2024)で返します。
ShortDate システムの現在の日時をyyyy-MM-dd 形式(例:2024-01-24)で返します。
DateFormat:format システムの現在の日時を指定されたフォーマット(format)で返します。使用可能な日付フォーマットについては、サンプル日付フォーマット を参照してください。
Vault:vaultitem 指定されたvault 項目の値を返します。
Table Evaluates to the name of the table where the connector is selecting data from.
PK Evaluates to the primary key value of the received record from the table.
Sequence Evaluates to a four digit number based on how many total records were received by the connector (for example, %Sequence% evaluates to 0005 for the fifth record returned).
FileFormat Evaluates to the output file format specified on the connector’s Advanced tab (XML, CSV, or TSV).

%Ext% や%ShortDate% などの引数を必要としないマクロもありますが、引数を必要とするマクロもあります。引数を渡すマクロはすべて次の構文を用います:%Macro:argument%

以下は、引数を渡すマクロの例です。

  • %Header:headername%:headername はメッセージのヘッダー名です。
  • %Header:mycustomheader% は、インプットメッセージで設定されたmycustomheader ヘッダーの値を返します。
  • %Header:ponum% は、インプットメッセージで設定されたponum ヘッダーの値に対応します。
  • %RegexFilename:pattern%:pattern は正規表現パターンです。例えば、%RegexFilename:^([\w][A-Za-z]+)% はファイル名の最初の単語と照合し、大文字と小文字を区別せずに結果を返します(test_file.xmltest に変換されます)。
  • %Vault:vaultitem%:vaultitem は、vault のアイテム名です。例えば、%Vault:companyname% はVault に保存されているcompanyname アイテムの値を返します。
  • %DateFormat:format%:format は使用可能な日付フォーマットです(詳細はサンプル日付フォーマット を参照してください)。例えば、%DateFormat:yyyy-MM-dd-HH-mm-ss-fff% はファイルの日付とタイムスタンプを返します。

以下の例に示すように、より詳細なマクロを作成することもできます。

  • 複数のマクロを1つのファイル名にまとめる:%DateFormat:yyyy-MM-dd-HH-mm-ss-fff%%EXT%
  • マクロの外側にテキストを含める:MyFile_%DateFormat:yyyy-MM-dd-HH-mm-ss-fff%
  • マクロ内にテキストを含める:%DateFormat:'DateProcessed-'yyyy-MM-dd_'TimeProcessed-'HH-mm-ss%