ODBC

10 分読む 最終更新日 2023年11月21日

ODBC

ODBC処理ノードでは次のことができます。

  • ODBC(Open Database Connectivity)データソースからデータを取得し、そのデータをメタデータとしてファイルに関連付ける(例:{odbc:列名})。

  • ファイルまたはワークフローに関連付けられている既存のメタデータを使用して、ODBCデータソース内のデータを更新する。

注: ODBCメタデータ変数では、大文字と小文字が区別されます。ワークフローでODBCメタデータを使用するときは、大文字と小文字を適切に書き分けてください。

ドライバー

このノードを使用するには、適切なODBCドライバーをDispatcher Phoenixと同じPCにインストールしておく必要があります。主要なデータベースシステムごとにODBCドライバーが用意されています。次に示すSEC Webサイトに入手できる一部のドライバーへのリンクが掲載されています。 https://www.sec.kmbs.us/version2/products/dppe/odbc.html

重要!

  • 32ビットのオペレーティングシステムでは、32ビットのドライバーを使用する必要があります。

  • 64ビットのプラットフォームでは、ドライバーのアーキテクチャがソフトウェアのアーキテクチャに適合している必要があります。インストールした64ビットのDispatcher Phoenix内でODBCノードを動作させる場合は、64ビットのODBCドライバーを探してください。

    • 32ビット版のMicrosoft Officeを64ビットのオペレーティングシステムにインストールした場合、64ビットのAccessドライバーはインストールできません。

    • 64ビットODBCドライバーにアクセスできないときは、64ビット版のDispatcher Phoenixをアンインストールして、32ビット版のDispatcher Phoenixを64ビットのオペレーティングシステムにインストールしなおすことができます。ただし、これは「64ビット版のMicrosoft Officeまたは64ビットドライバーをインストールできない場合」のみの最終手段と考えてください。

ODBCの概要

次のセクションでは、ODBCの簡単な定義とそのインフラストラクチャを示します。

  • ODBC: ODBCとは、データへのアクセスを目的としてアプリケーションをデータベースサーバーに接続するためのオープンな標準方式です。たとえば、ODBCを介して、Dispatcher Phoenixのユーザーは複合機パネルにあるデータソースに透過的にアクセスできます。

  • データソース: アプリケーションで使用されるデータ。一例として、SQL ServerデータベースやMicrosoft Accessデータベースなどが挙げられます。

  • ODBCドライバー: Dispatcher Phoenixのようなアプリケーションからデータベースにアクセスできるようにするには、アプリケーションがインストールされているクライアントシステムにドライバーをインストールする必要があります。ODBCドライバーは、データソースに接続し、標準SQLステートメントをデータソースが処理できる構文に翻訳して、リクエストされたデータをアプリケーションに返します。ユーザーがアプリケーションからODBCドライバーを介してデータソースに接続するとき、ODBCドライバーはユーザーに代わってローカルまたはネットワーク経由で接続を確立します。

Dispatcher Phoenix ODBCノードの使用

ODBCノードは、次の図のようになります。

ODBCノード

以下の操作を行います。

  • この特定の構成を識別する名前を [ノード名] フィールドに入力します。

  • ノードの説明を [説明] フィールドに入力します。

  • 接続確立の試行を終了するまでの時間間隔(秒単位)を [ODBC接続タイムアウト] フィールドに指定します。

  • 目的のデータソースに接続するための接続文字列を [ODBC接続文字列] 領域に入力します。このアプリケーションには、ひな形として使用できる多数のサンプル接続文字列が用意されています。 矢印をクリックすると、文字列の一覧が表示され、この一覧から選択できます。この情報の入力方法が不確かな場合は、使用するODBCドライバーやデータベースのドキュメントを参照してください。

  • 入力した接続文字列が有効であることを確認するには、 [テスト接続…] ボタンを選択します。

  • 接続が有効な場合は、[ODBCデータソースのテスト]領域にデータが表示されます。

  • 接続が無効の場合は、[ODBCデータソースのテスト]領域にエラーメッセージが表示されます。

  • データベースドライバーとデータベースソースを管理するには、 [ODBCアドミニストレーターの起動] ボタンを選択します。表示されるダイアログボックスの詳細は、Microsoft Windowsのドキュメントを参照してください。

  • SQLクエリーをデータソースに送信するには、 [SQLクエリー] 領域にSQLステートメントを入力します。

    注: SQLは標準化されていますが、特定のデータベースの動作に対応するためにドライバー固有の変更が行われていることがあります。

  • SQLクエリーの中でメタデータを使用できます。これらの変数を取り込みやすいように、 [メタデータ] ボタンをクリックすると、[メタデータブラウザー]ウィンドウが表示されます。[メタデータブラウザー]ウィンドウには、ワークフローに含まれているすべてのメタデータが表示されます。[メタデータブラウザー]ウィンドウからメタデータをドラッグして、[ODBC]ウィンドウにドロップできます。

  • 作成したSQLステートメントがデータソースから適切なレコードを取得することを確認するには、 [SQLクエリーのテスト] ボタンを選択します。SQLクエリーにはフォーム変数を追加できます。

ODBCデータソースからファイルへのデータの関連付け

SQLクエリーでSELECTステートメントを使用してODBCデータソースからデータを取得して、ODBCデータソースを入力ファイルに関連付けることができます。また、クエリーの結果を基に特定のデータをデータソースから取得することもでき、そのクエリーにはOCRのゾーン、ベイツスタンプ、バーコード、インデックスフォームフィールドなどのワークフローのメタデータを使用できます。SQLクエリーを設定するときは、 [メタデータ] ボタンをクリックして[メタデータブラウザー]ウィンドウを開き、必要とするメタデータ変数を見つけます。

データをデータソースから取得すると、ファイルにODBCメタデータとして追加され、後からワークフローで使用できます。

ODBCメタデータの構文は、{odbc:変数名[ページ数]}です(例:{odbc:address[1]})。SQLクエリーでワークフローのメタデータを参照するときは、カッコ内にページ番号を指定する必要があります。

注: サポートされるSQLの構文はドライバーごとに異なる可能性があります。ODBCドライバーおよびデータベースでサポートされている構文や演算については、それらのドキュメントを参照してください。

全てのレコードを取得するには:

SELECT \* from [テーブル名]

特定の条件に基づいて選択したレコードを取得するには:

SELECT [列] FROM [テーブル名] WHERE [列]=’[metadata]’

注: テキスト値は一重引用符で囲みます。数値を一重引用符で囲む必要はありません。

SELECTステートメントを使用したSQLクエリーの例:

サンプルデータソース:

Last - First - Address

Doe - John - jdoe@gmail.com

Doe - Jane - janedoe@gmail.com

Smith - Jane - jsmith@hotmail.com

Crockett - Davey - dcrockett@aol.com

入力ドキュメントから姓を抽出するために、「last」という名前のOCRゾーンが作成されています(高度なOCRノードを使用)。ODBCノードを使用することで、入力ドキュメントに含まれる姓に対して、データソース内で見つかったメールアドレスを取得できます(高度なOCR処理を使用して抽出)。ODBCノード経由で見つかったメールアドレスはODBCメタデータとしてファイルに追加され、電子メール出力ノードでドキュメントを正しいメールの宛先に送信するために使用できます。

「last」のOCRゾーンメタデータ{zone:ocr.last}が「Doe」を返す場合、Address列で見つかったメールアドレスを取得するには、次のステートメントを使用します。

SELECT [address] FROM [customers] WHERE [Last]='{ocr:zone.last[1]}'

ODBCデータソース内のデータの更新

レコードを保持する場合に役立ちます。ワークフロー内の別のメタデータ(OCRゾーン、ベイツスタンプ、バーコード、インデックスフォームフィールドなど)を基に、ODBCデータソース内のデータを更新することもできます。この操作を実行するには、SQLクエリーでUPDATEステートメントを使用します。SQLクエリーを設定するときは、 [メタデータ] ボタンをクリックして[メタデータブラウザー]ウィンドウを開き、必要とするメタデータ変数を見つけます。

注: サポートされるSQLの構文はドライバーごとに異なる可能性があります。ODBCドライバーおよびデータベースでサポートされている構文や演算については、それらのドキュメントを参照してください。

Updateステートメントを使用する構文:

UPDATE [table] SET [column]= 'metadata' WHERE [column name]='metadata';

注:

  • Updateステートメントではメタデータは作成されません。

  • SQLクエリーでワークフローのメタデータを参照するときは、カッコ内にページ番号を指定する必要があります(例:{bates.YourStamp[1]})。

  • テキスト値は一重引用符で囲みます。数値を一重引用符で囲む必要はありません。

UPDATEステートメントを使用したSQLクエリーの例:

サンプルデータソース

File - Count

xyz - 1

abc - 2

rty - 3

yui - 4

入力ドキュメントのファイル名がテーブル内の別の列と一致する場合、「customers」テーブル内の列を更新できます。たとえば、「xyz」ファイルをスキャンするたびに、「Count」列内のカウントは1ずつ増加し、何回ファイルがスキャンされたかを記録します。

次のステートメントを使用します。

UPDATE customers SET count=count+1 WHERE file='{file:name}';

ODBCデータソースへのデータの挿入

ワークフロー内の他のメタデータに基づいて新しいレコードをODBCデータソースに挿入することもできます。この操作にはSQLクエリーでINSERT INTOステートメントを使用します。SQLクエリーを設定するときは、 [メタデータ] ボタンをクリックして[メタデータブラウザー]ウィンドウを開き、必要とするメタデータ変数を見つけます。

注: サポートされるSQLの構文はドライバーごとに異なる可能性があります。ODBCドライバーおよびデータベースでサポートされている構文や演算については、それらのドキュメントを参照してください。

Insert Intoステートメントを使用する構文:

INSERT INTO [table] [column1, column2,…] VALUES [value1, value2, …];

注:

  • Insertステートメントではメタデータは作成されません。

  • SQLクエリーでワークフローのメタデータを参照するときは、カッコ内にページ番号を指定する必要があります(例:{bates.YourStamp[1]})。

  • テキスト値は一重引用符で囲みます。数値を一重引用符で囲む必要はありません。

INSERTステートメントを使用したSQLクエリーの例:

サンプルデータソース(テーブル名は’files’)

File - Count

abc - 1

def - 2

ghi - 3

jkl - 4

次のステートメントを使用して、次のように「mno」および「5」というデータを持つ新しいレコードを「files」テーブルに挿入できます。

INSERT INTO files (File, Count) VALUES ('mno', 5);