SQLデータベースに情報を挿入するメッセージキュー統合
概要
この例の目的は、現在印刷されたレコードの情報を保存できるように、データベースレコードの挿入アクションを含むメッセージキュー統合を作成することです。
Microsoft Message Queuing(MSMQ)はXMLキューメッセージ形式を使用でき、BarTenderはBarTender 2019以降でこの形式をネイティブにサポートしており、印刷ジョブに関する有用な情報を取得できます。
他の種類の統合とは異なり、この統合はMSMQから渡されたXMLデータを受け取り、それをラベルファイルに渡せる変数に分解します。
対象バージョン
BarTender 2019以降。
情報
シナリオ
ある企業が、XMLデータを使ってメッセージキューサービス経由で印刷ジョブを送信する必要があります。印刷ジョブは、Microsoft Message Queueを通じてXMLデータが送信され、BarTender Integration Serviceによって読み取られると実行されます。その後、印刷ジョブのレコードをMicrosoft SQLデータベースに挿入する必要があります。
実装方法
以下の手順では、上記のシナリオに対する統合のセットアップ、展開、検証方法について説明します。
ラベルの設定
統合はXMLの構造を認識できるため、XMLレコードをドキュメント内の名前付きデータソースに直接マッピングできます。このタイプのラベルはデータベースを使用せず、すべてのデータを名前付きデータソースで処理します。ここでは、このラベルの基本的な設定方法を説明します。詳細については、ヘルプファイルの名前付きデータソースをご覧ください。
-
- 新しいラベルを作成します。
- ラベルのデザインエリアにテキストオブジェクトを作成します。
- ラベルを右クリックし、プロパティを選択します。
- リストからデータソースを選択します。「サンプルテキスト」と表示されます。
- 名前フィールドの横にあるボックスをクリックします。
- ダイアログで一意の名前を入力し、OKをクリックします。この例ではORDERNUMを使用します。
- タイプが「埋め込みデータ」になっていることを確認します。
- さらにテキストオブジェクトを作成する場合、名前付きデータソースのダイアログが異なって表示されます。名前フィールドの横のボックスをクリックし、最初のオプションを選択して新しい名前を作成します。例えばCUSTOMERを使用します。
- この例では、追加で名前付きデータソースを作成し、名前にCITYを使用します。
- 必要な数だけ名前付きデータソースを作成したら、ラベルを保存します。
XMLトリガーデータの作成
統合のために、MSMQで送信するXML形式のトリガーが必要です。XMLのフィールド名は名前付きデータソース名と一致している必要はありません。ここでフィールドを名前付きデータソースにマッピングします。これらのXMLフィールド名は自動的に統合内の変数になります。フィールド名にスペースを含めないようにしてください。
例:
<?xmlversion="1.0">
<ItemInfo>
<Item>
<ORDERNUM>8</ORDERNUM>
<CUSTOMER>Bob Builder</CUSTOMER>
<CITY>Canada</CITY>
</Item>
</ItemInfo>
統合の作成
- Integration Builderを開き、新しい統合の作成を選択します。
- 新しい統合ダイアログで、メッセージキュー統合を選択し、OKをクリックします。
- まず、統合タブでユーザー認証情報を指定します。指定したユーザーには、使用するメッセージキューへの十分なアクセス権が必要です。詳細は、トラブルシューティングガイド:統合の記事をご覧ください。
- 左側のメニューで入力データを選択し、入力データ形式をXML変数に変更します。
-
次に、データベースレコードごとにアクションを設定します。
-
データが受信された後、統合はこれらのレコードをどのように処理するかを知る必要があります。
-
- 左側のメニューで、アクションの横にある+ボタンをクリックします。
- ダイアログでデータベースカテゴリをクリックし、データベースレコードごとにを選択してOKをクリックします。
- アクションリストのドキュメントの印刷アクションをクリックし、データベースレコードごとにアクションの下にドラッグしてインデントさせます。これにより、ドキュメントの印刷アクションがこのアクションの子になります。
- 「データベースレコードごとに」アクションの子として「ドキュメントの印刷」アクションをネストすることで、XMLデータが印刷時に正しく処理されます。
- ドキュメントの印刷アクションを選択し、右側の名前付きデータソースタブをクリックします。
-
名前付きデータソースの値を指定するにチェックを入れ、各名前付きデータソースの名前と値を入力します。
SQLデータベースの設定
- 再度、アクションの横にある+ボタンをクリックします。
-
データベースカテゴリをクリックし、データベースレコードの挿入を選択してOKをクリックします。
- 「データベースレコードの挿入」アクションも「データベースレコードごとに」アクションの子アクションとしてネストされ、「ドキュメントの印刷」アクションの後に実行されるため、印刷ジョブの変数がデータベースに更新されます。
注意:「データベースレコードの挿入」アクションはリレーショナルデータベースタイプのみサポートしています。このアクションでは、データベースセットアップウィザードにテキスト、Access、Excelなどの非リレーショナルデータベースタイプや、それらを参照する名前付きデータベース接続は表示されません。 - 「データベースレコードの挿入」アクションを追加したら、挿入タブのデータベース接続の設定をクリックします。
- この例ではローカルのMicrosoft SQL Serverインスタンスを使用するため、Microsoft SQL Serverを選択し、次へをクリックします。
- 次のページで、サーバーの接続情報、認証モード、使用するデータベースを入力します。
- データベースセットアップウィザードの使い方については、データベースセットアップダイアログをご覧ください。
- データベース接続が設定できたら、印刷ジョブで保存された変数がデータベースのレコード値として使用されるように、使用したい各カラムを選択し、値として変数を入力します。
- ツールバー上部の統合のテストボタンをクリックします。
- 右上の緑色の開始ボタンをクリックします。
- 指定したメッセージキューでXMLデータが受信されると、統合がトリガーされ、ラベルが印刷され、データがデータベースに挿入されます。