各製品の資料を入手。
詳細はこちら →現場帳票電子化ソリューションXC-Gate とXC-Connect を使ってSingleStore のデータを利用した帳票を作成する方法
最終更新日:2023-12-01
この記事で実現できるSingleStore 連携のシナリオ
こんにちは!リードエンジニアの杉本です。
今回は現場帳票管理・電子化ソリューションの『XC-Gate』とCData JDBC ドライバを組み合わせて各種クラウドデータを帳票で活用する方法を紹介します。
XC-Gate とは?
XC-Gate は製造業、建設業、食品業界など様々な業界で活用されている現場帳票電子化ソリューションです。
https://product.technotree.com/xc-gate-ent/
普段皆さんが使っているExcel を利用して帳票をカスタマイズ、作成することができるのが大きな特徴です。
https://www.technotree.com/form/xc-editor

また、XC-Connect というツールをサーバーにインストールして、ローコードで業務管理・生産管理システムやBIツール、Excel、CSVといったデータと連携することができます。
https://product.technotree.com/xc-gate/xc-connect/feature/

シナリオ
今回作成する帳票は以下のようにSingleStore のデータを一覧表示するものとなっています。

SingleStore はREST APIが提供されているので、一見連携しやすいように見えますが、XC-Gate から直接クエリするにはインターフェース処理が難しい部分が実際問題として存在します。
https://developer.salesforce.com/docs/atlas.ja-jp.api_rest.meta/api_rest/resources_query.htm
そこで今回の記事ではこのボトルネックを「CData JDBC Driver」を活用することで解消します。
https://www.cdata.com/jp/drivers/singlestore/jdbc/
XC-Gate では XC-Connect というデータベースのデータを読み込むための仕組みが標準提供されており、この機能を介してSQL ServerやMySQLなどにアクセスできるようになっています。
https://www.xc-times.com/news/?newsUCd=908b7620-3ecd-4e04-ab5d-4a42897c035d

そして、実はこのXC-Connect は内部でJDBC が利用されているため、XC-Connect とCData が提供しているJDBC Driver ラインナップを通じて、各種クラウドサービスのAPI にアクセスすることができるようになります。
とは言っても、説明だけではイメージできない部分もあると思うので、実際に帳票を作成してみましょう。
CData SingleStore JDBC Driver のインストール
最初にCData SingleStore JDBC Driver を対象のマシンにインストールします。
以下のページから30日間のトライアルがダウンロードできます。
SingleStore JDBC ドライバーページインストーラーを入手後、対象のマシンでセットアップを進めていきます。

セットアップ完了後、以下のフォルダにJDBC Driver のjar ファイルが配置されます。
C:\Program Files\CData\CData JDBC Driver for SingleStore 2023J\libJDBC Driver の接続テスト
対象のjar ファイルを実行すると接続テストツールが立ち上がるので、これでSingleStore への接続を確認しておきましょう。
セットアップが完了すると接続設定画面が表示されるので、SingleStore への認証に必要な情報を入力します。
データに接続するには、次の接続プロパティが必要です。
- Server:SingleStore データベースをホスティングしているサーバーのホスト名またはIP アドレス。
- Port:SingleStore データベースをホスティングしているサーバーのポート。
また、オプションで以下を設定することもできます。
- SingleStore:SingleStore Server に接続する場合のデフォルトデータベース。設定されていない場合、すべてのデータベースのテーブルが返されます。
標準認証
標準認証で認証するには、次を設定します。
- User:SingleStore サーバーに認証する際に使われるユーザー。
- Password:SingleStore サーバーに認証する際に使われるパスワード。
統合セキュリティを使用した接続
標準のユーザー名とパスワードを提供する代わりに、Windows 認証を介して信頼されたされたユーザーをサーバーに認証できます。
SSL 認証
SSL 認証を活用してセキュアなセッションを介してSingleStore データに接続できます。次の接続プロパティを設定し、データに接続します。
- SSLClientCert:クライアント証明書のための証明書ストア名に設定。クライアントとサーバーの両方のマシンでトラストストアとキーストアが保持される2-way SSL の場合に使用されます。
- SSLClientCertPassword:クライアント証明書ストアがパスワードで保護されている場合、この値をストアのパスワードに設定します。
- SSLClientCertSubject:TLS/SSL クライアント証明書のサブジェクト。ストア内の証明書を検索するために使用されます。
- SSLClientCertType:クライアントストアの証明書タイプ。
- SSLServerCert:サーバーが受け入れ可能な証明書。
SSH 認証
SSH を使用して、セキュアにリモートマシンにログインできます。SingleStore データにSSH 経由でアクセスするには、次の接続プロパティを設定します。
- SSHClientCert:クライアント証明書のための証明書ストア名に設定。
- SSHClientCertPassword:クライアント証明書ストアがパスワードで保護されている場合、この値をストアのパスワードに設定します。
- SSHClientCertSubject:TLS/SSL クライアント証明書のサブジェクト。ストア内の証明書を検索するために使用されます。
- SSHClientCertType:クライアントストアの証明書タイプ。
- SSHPassword:SSH サーバーに認証するためのパスワード。
- SSHPort:SSH 操作に使用するポート。
- SSHServer:認証しようとしているSSH 認証サーバー。
- SSHServerFingerPrint:接続先のホストの検証に使用するSSH サーバーのフィンガープリント。
- SSHUser:SSH サーバーに認証するためのユーザー名。
あとは「接続のテスト」ボタンをクリックし、接続が成功したら、「接続ウィザード」の「OK」ボタンをクリックして保存します。
無事接続が完了すると、「接続テストの成功」メッセージが表示されます。接続文字列は後で利用するのでコピーして控えておきましょう。
XC-Connect の転送設定を追加する
続いてXC-Connect の接続設定を進めましょう。XC-GateでJDBC Driver 経由のデータを扱う場合は、このXC-Connect が必要となります。
XC-Connect は以下のページでデベロッパー登録をすることでダウンロードできます。
https://www.developer.technotree.com/
XC-Connect をセットアップし立ち上げると、ログイン画面が表示されるので、設定したパスワードを使用してログインします。
併せて転送設定でXC-Gate側への接続を確立しておきましょう。予めXC-Gate の証明書を取得しておき、転送設定で指定しておきます。
JDBC ドライバーの登録
それではXC-Gate でCData JDBC ドライバの指定を追加していきます。
「システム設定」→「JDBCファイル設定」に移動し、

ここでCData JDBC ドライバをアップロードして登録します。「ファイルを選択」をクリックし「cdata.jdbc.singlestore.jar」をアップロードします。
JDBC 登録後は読み込みのためにXC-Connect を一度再起動させましょう。

合わせてライセンスファイル「cdata.jdbc.singlestore.lic」を「C:\Windows\ServiceProfiles\LocalService\.CData」に配置しておきます。もし「.CData」フォルダが無い場合は、作成して配置します。
機器の追加
CData JDBC ドライバを配置したら、XC-Connect で「どういったデータを読み込ませるのか」を指定する機器設定を追加していきます。まず最初に接続情報を追加しましょう。
「機器設定」タブに移動し、「+機器の追加」をクリックします。

プロトコルの選択画面では「メーカー:データベース」「機種:JDBC 汎用(SQL)」「プロトコル:SQL」をそれぞれ指定します。

最初に接続情報を指定します。任意の設定名称を指定し、JDBC Driver 名で先程登録したDriver を選択します。
接続URLには「JDBC Driver の接続テスト」時に取得した接続文字列を指定しましょう。「ユーザー名」「パスワード」は利用しませんのでダミーの文字列を入力すればOKです。
入力後「接続テスト」をクリックして、「接続テストに成功しました」と表示さればOKです。

取得データの追加
続いて。機器設定の詳細から「どういったデータを読み込ませるのか?」を指定する「取得データの追加」設定を行います。
機器登録完了後、「+取得データの追加」をクリックします。

任意のデータ名称を取得後、実行SQL を指定します。ここではSingleStore の取引先情報である「Account」テーブルを取得するためのSQLを指定しました。
取得間隔や実行タイムアウトは任意の設定を指定します。ただ、Web API の連携では、各種API 側のリクエスト制限が指定されているものも存在するので、過度に短い間隔は利用しないほうが良いかと思います。
「保存方式」は「マスタ(項目)形式」を指定し、キーとしてSingleStore の「Id」カラムを指定しました。

設定後、「接続テスト」をクリックし、以下のようにデータが取得できていればOK です。

登録後、「起動する」ボタンをクリックしておきましょう。

タグ設定の追加
最後にXC-Gate で登録したマスタデータを利用するためのタグ設定を追加します。
「タグ設定」タブに移動し「+タグ設定の追加」をクリックしましょう。

「機器データ名称」の「選択」ボタンをクリックして、

登録しているCData JDBC ドライバを選択。

以下のようなタグ設定の画面に移るので「+表示項目の追加」をクリックし

帳票に取り込みたい項目をそれぞれ追加していきます。

あとは「タグEXCEL出力」でXC-Gate で利用するタグ設定を取得します。

これでXC-Gate で帳票を作成するためのタグが準備できました。

帳票の登録
それでは実際にXC-Connect 経由でXC-Gate の帳票にデータが表示できるか試していきましょう。今回は先程取得したタグを利用して以下のような帳票をExcel で作成しました。

XC-Gate にログインし、これを「フォルダ」から「新しいチェックシート」として登録します。

作成したExcel ファイルを指定して、任意のファイル名でチェックシートを登録します。

チェックシートの登録が完了したら「プレビュー」ボタンをクリックして、帳票を参照してみましょう。

以下のような画面が表示されるので「コネクト取得」をクリックしてみると、

CData JDBC ドライバとXC-Connect 経由でリアルタイムにSingleStore のデータが取得できました!

おわりに
このようにXC-Gate・XC-Connect とCData JDBC ドライバを組み合わせることで、手軽にXC-Gate の帳票に各種クラウドサービスのデータを取り込むことができます。
CData ではSingleStore 以外にも様々なクラウドデータソースのJDBC Driver を扱っています。
https://www.cdata.com/jp/jdbc/
ぜひ自社で利用しているサービスと合わせて、XC-Gate を活用してみてください。