こんにちは、エンジニアの浦邊です。
今回はInformatica Intelligent Cloud Services上にCData kintone JDBC Driverを導入し、SQL Serverからkintoneへデータを取り込む方法を紹介します。
はじめに
Informatica Intelligent Cloud Services(IICS)はクラウドや自社運用(オンプレミス環境)のあらゆるデータを連携、同期する高性能なクラウドデータ統合ソリューションです。
www.informatica.com
IICSは様々なクラウドサービスやアプリケーションをつなぐための専用コネクタが用意されていますが、Kintoneなどサポートされていないサービスも存在します。しかし、ODBC、JDBC接続をサポートしているため、CData ODBC/JDBC Driverを使うことで専用コネクタが無いサービスを接続することができます。
今回はIICSを介した二つのサービス間での連携を通して、IICSでのJDBC接続の方法をご紹介します。
シナリオ
シナリオを下図に示します。今回はSQL Serverにあるデータをkintoneへ転送します。SQL Serverへの接続はIICS標準のコネクタ、kintoneへの接続はJDBCを使用します。
必要なもの
- Informatica Intelligent Cloud Services
- SQL Server
- kintone
- CData kintone JDBC Driver
IICSは無料で30日間の評価版を使用できます。
www.informatica.com
事前準備
CData kintone JDBC Driverをインストールします。
以下のURLからkintone JDBC Driver評価版または製品版をダウンロードします。
https://www.cdata.com/jp/drivers/kintone/download/jdbc/
ダウンロードされたzipファイルを解凍し、中にある「setup.jar」を起動します。インストールウィザードに従い、使用許諾契約を確認した上でインストールを完了します。評価版、製品版共にオンラインでのアクティベーションが実行されますので、製品版の場合はライセンスキーを入力します。cdata.comサーバにアクセス出来ないネットワーク環境の場合は、オフラインでのアクティベーション手順をお伝えしますのでテクニカルサポートまでお問い合わせください。
テスト環境
連携元のデータベース
今回転送するテストデータは品目(Product)データです。SQL Serverに構築したTestDatabase1データベースのproductsテーブルに格納されています。レコードには品目コードを格納するproduct_code、品目名を格納するproduct_name、備考を格納するcommentの3つのフィールドがあります。
連携先のkintoneアプリ
kintoneの品目データを格納する「Products」アプリの構成を下図に示します。連携元と同様に、品目コードを格納するProductCode、品目名を格納するProductName、備考を格納するCommentの3つのフィールドがあります。
Secure Agentサーバのインストールとランタイム環境設定
Secure Agentサーバは、実際にデータの転送処理を行う実行エンジンです。データの転送処理を常にSecure Agentサーバを介して行うことにより、Informatica Cloud環境にデータが送られることはありません。
「マイサービス」から「管理者」を選択し、管理者画面を開きます。
画面左のメニューから「ランタイム環境」を選択し、ランタイム画面を開きます。
画面上の「Secure Agentのダウンロード」をクリックし、Secure Agentインストーラをダウンロードします。
このとき、「インストールトークン」の文字列をコピーしておきます。
ダウンロードが完了したらインストーラを起動します。
インストール中に下図のように「インストールトークン」の入力を求められる場合がありますので、先ほどコピーしたインストールトークンを入力します。
インストールが終了すると自動的にSecure Agentが稼働します。
下図のように「Secure Agentとすべてのサービスが稼働中です。」というメッセージが表示されればドライバ設定の準備は完了です。
この時点でIICSのランタイム環境画面に新しいランタイム環境(Secure AgentをインストールしたPC)が追加されてるのでランタイム環境名を確認してください。
SQL Server接続の追加
「マイサービス」から「管理者」を選択し、管理者画面を開きます。
画面左のメニューから「接続」を選択して接続画面を開き、画面右上の「新しい接続」をクリックします。
SQL Serverの接続を下図のように設定します。
「接続名」はこの接続を識別する名前です。今回は「SQL Server」とします。
「タイプ」には「SQL Server」を選択します。
「ランタイム環境」には前章で作成したランタイム環境名を選択します。
その他SQL Serverに関する接続情報を入力します。
一通り入力したら画面上の「接続のテスト」をクリックし、画面上に「この接続のテストに成功しました。」というメッセージが表示されればODBCの接続設定は完了です。
JDBC接続の追加
JDBCアドオンコネクタの追加
IICSはデフォルトでJDBCコネクタがありませんので別途アドオンコネクタを追加します。
管理者画面を開き、画面左のメニューから「アドオンコネクタ」を選択します。
「JDBC_IC」の「無料トライアル」をクリックし、JDBC_ICを追加します。
JDBCドライバの設定
画面左のメニューから「接続」を選択して接続画面を開き、画面左上の「新しい接続」をクリックして接続を追加します。
「接続名」を入力します(今回は「Kintone JDBC」とします)。
タイプに「JDBC_IC (Informatica Cloud)」を選択します。
JDBCによるkintoneの接続を下図のように設定します。
「ランタイム環境」に作成したランタイム環境名を選択します。
「JDBC接続URL」には接続文字列を入力します。CData JDBC Driver for kintoneのマニュアルを参考にしてください。
「JDBC Jarディレクトリ」にはjarファイルがあるディレクトリを入力します。これはCData Driverがインストールされたディレクトリ直下のlibフォルダ(デフォルトではC:\Program Files\CData\CData JDBC Driver for kintone 2019\lib\)です。
「JDBC Driver Class Name」にはクラス名「cdata.jdbc.kintone.KintoneDriver」を入力します。
「ユーザ名」と「パスワード」にそれぞれkintoneのユーザ名とパスワードを入力します。
一通り入力したら画面上の「接続のテスト」をクリックし、画面上に「この接続のテストに成功しました。」というメッセージが表示されればJDBCの接続設定は成功です。
データマッピングの作成
「マイサービス」の「データ統合」を選択します。
画面左の「新規」を選択し「新しいアセット」画面を開きます。
「マッピング」を選択して「作成」をクリックし、新しいマッピングを作成します。
ソースの設定
「ソース」ノードを選択すると画面下にソースのプロパティ項目が表示されますので、「ソース」メニューを選択します。
データ連携元はSQL Serverなので「接続」に「SQL Server」、「ソースタイプ」に「単一オブジェクト」を選択します。
「選択」ボタンを押下するとテーブル一覧が表示されますので「products」テーブルを選択し「OK」を押下します。
ターゲットの設定
「ターゲット」ノードを選択すると画面下にソースのプロパティ項目が表示されますので、「ターゲット」メニューを選択します。
「接続」にデータ連携先の「Kintone JDBC」、「ソースタイプ」に「単一オブジェクト」を選択します。
「選択」ボタンを押下するとテーブル一覧が表示されますので、「Products」テーブルを選択し「OK」を押下します。
フィールドマッピング
「フィールドマッピング」メニューを選択し、フィールドマッピング設定項目を表示します。
マッピングを作成するには受信フィールドとそれに対応するターゲットフィールドを選択し、「選択項目をマップ」を選択します。
今回は以下の3つの項目を紐づけます。
SQL Server Productテーブル |
Kintone Productsテーブル |
product_code |
ProductCode |
product_name |
ProductName |
comment |
Comment |
マッピングの作成が完了したら画面上の「保存」を押下して保存します。
マッピングジョブ実行
マッピング作成画面上部の「実行」ボタンを押下します。
実行画面が開きますので、「ランタイム環境」で作成したランタイム環境名を選択します。
「実行」ボタンを押下するとマッピングが実行されます。
実行中のジョブは「マイジョブ」で一覧することができます。
「状態」が「成功」になれば、データの転送は完了です。
結果
KintoneのProductsのレコード一覧を示します。
SQL Serverのprodutcsテーブルからコピーしたデータが設定されていることが分かります。
おわりに
今回はIICSを介したkintoneへのデータ転送を通して、IICSでのJDBC接続の方法を紹介しました。IICSは多様なデータソースをサポートしますが、CDataのJDBC/ODBCドライバを利用することでその選択肢をさらに広げることができます。
関連コンテンツ