Database Connector Setup

Version 24.1.8910


Database Connector Setup


The Database connector allows for connections to many different database types, and can push or pull data from these databases. Follow the steps below to connect CData Arc to your database.

Establish Database Connection

Before you can add the Database connector to your flow, you must configure the connection to your database on the local machine.

ODBC

A data source name (DSN) is required to connect to a database via an ODBC driver, and can be created with the Microsoft ODBC Administrator. Arc must use a system DSN connection for the ODBC driver. Once the DSN has been created in the system, select the appropriate DSN from the Data Source Name connector dropdown.

Note: The Database connector supports ODBC drivers for databases other than the default options. However, custom drivers might require overwriting the queries issued by the connector to fit the syntax expected by the database. See Pre-Processing and Post-Processing Queries for more information. You can also use the Write custom queries option on the Select action.

ADO.NET

In order for an ADO.NET provider to be visible to Arc, it must be defined in the machine.config file and registered in the Global Assembly Cache (GAC). This can be accomplished manually by knowledgeable users, but CData recommends you install the database client on the machine hosting Arc, because the database-specific installation wizard handles defining and registering the provider.

JDBC

In order for a JDBC driver to be visible to Arc, it must be included as part of the Java classpath. Arc includes drivers for MySQL, PostgreSQL, and Derby; refer to the documentation for the Java web servlet to add a different driver to the classpath.

Note: The Database connector supports JDBC drivers for databases other than the default options. However, custom drivers might require overwriting the queries issued by the connector to fit the syntax expected by the database. Queries can be overwritten using the Write custom query section of an Input Mapping or Output Mapping.

Configure Database Connector

After you configure the database connection, you can add a Database connector to your Arc flow. You must enter the database connection credentials into each instance of the Database connector.

Follow these steps to establish a connection:

  1. Drag the Database connector into an Arc flow and give it a name.

  2. In the Database Connection portion of the Settings tab, choose the Driver Name from the list. The Driver Class is automatically populated.

  3. Choose your Settings Format and enter the requested information in each field. Options vary based on your choice.

  • User Supply the database user name. Only applicable for the Property List format.
  • Password Supply the user password. Only applicable for the Property List format.
  • Database Supply the database name. Only applicable for the Property List format.
  • Database URL Supply the URL to the database. Only applicable for the Database URL format.
  1. Click Test Connection to ensure that Arc can connect to the Database. If an error occurs, check all fields and try again.

  2. Click Save Changes.

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

アクションを選択する

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

アクション 説明 フローにおけるポジション
Upsert Database データを挿入または更新します。デフォルトでは、Database にすでにレコードが存在する場合は、入力から提供された値を使用してDatabase の既存のデータに対して更新が実行されます。 End
Lookup Database から値を取得し、それらの値をフロー内の既存のArc メッセージに挿入します。
ルックアップクエリは、コネクタがDatabase から取得する値を決定します。これは、Database テーブルに対するSQL クエリとしてフォーマットする必要があります。
Middle
Lookup Stored Procedure コネクタに入力されたデータをストアドプロシージャの入力として扱い、結果をフロー内の既存のArc メッセージに挿入します。
Lookup をテストモーダルにあるサンプルデータを表示ボタンをクリックすると、選択したストアドプロシージャにサンプル入力を提供し、結果をプレビューできます。
Middle
Select Database からデータを取得し、それを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日以内に作成または変更されたデータのみの処理を試みることを意味します。
  • 履歴をリセット新規または変更されたレコードを処理するためにカラム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%