1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Talend + JDBC Driver で Microsoft Access のマスターを kintone に同期

Last updated at Posted at 2018-12-31

はじめに

本資料は CData Software 社の JDBC Driver 及び、Talend 社の Talend Open Studio を利用してコーディングを行うことなく、Microsoft Access から kintone 上のデータを更新する手法を説明しています。

model_kintone.PNG

データ更新を行うシナリオとして、上図のように Talend + JDBC Driver にて Access のデータを取得し、kintone アプリ "testApp" の文字列を更新する例を説明します。

検証環境

以下の環境にて検証を行っています。

  • Windows 10 Home バージョン 1803
  • Microsoft Access for Office 365 (64bit)
  • Java SE Runtime Environment 8 (1.8.0_181)
  • Talend Open Studio for Data Integration 6.5.1
  • CData JDBC Driver
  • CData JDBC Driver for kintone 2018J
  • CData JDBC Driver for Access 2018J

Microsoft Access (以下、Access) 及び、Java SE Runtime Environment 8 についてはインストール済みという前提で今後の説明を進めさせていただきます。
また、Access に関しては下記から Office 365 を取得し、1か月間に限り無料試用することも可能です。

CData JDBC Driver for kintone インストール

  1. 以下のサイトから kintone 用の CData JDBC Driver をダウンロードします。
  1. ダウンロードしたファイルを任意の場所に展開し、コマンドプロンプトにて下記のコマンドを実行してください。
    JDBC_Kintone_1.png

  2. インストーラーが起動しますので、必要な設問に回答し、インストールを完了させてください。

CData JDBC Driver for Access インストール

[Microsoft Access から Salesforce Sales Cloud のデータを更新]
(https://qiita.com/kamega/items/b3e7d6b0d9ff17f2c5ff) の CData JDBC Driver for Access インストール を参照してください。

Talend Open Studio インストール

Talend Open Studio の最新バージョンは 7.1.1 ですが、この版ではDB接続のタイプとして "General JDBC" が存在しないため、以下のサイトから Talend Open Studio for Data Integration 6.5.1 をダウンロードし、任意の場所に展開してください。

kintone 評価版アカウントの取得

kintone評価版アカウント取得、および、サンプルアプリケーションの作成方法
を参考に 、kintone 評価版アカウントを取得してください。

Access から kintone のデータ更新 事前準備

1. はじめに検証用の kintone アプリとデータを作成します。kintone 評価版アカウントの取得 にて作成したアカウントにて kintone にログインし、"アプリ" の右の "+" ボタンを押します。
kintone_1.png

2. 下記の画面が表示されますので、"はじめから作成" リンクを押します。
kintone_2.png

3. アプリケーション名を "testApp" とし、"文字列(1行)" をクリックし、フォームへドラッグ & ドロップします。次に、"文字列(1行)" の "設定" を押し、"フィールド名" を "input1" に変更し、"保存"ボタンを押します。その後、"アプリを公開" ボタンを押すと、"フォームを保存して、アプリを公開します。よろしいですか ?" と問われますので、"OK" ボタンを押します。
kintone_3.png
kintone_10.png
kintone_11.png

4. 下記の画面が表示されますので、"+" ボタンを押し、文字列を入力(ここでは "test1" とします)した後、"保存" ボタンを押します。
kintone_4.png
kintone_5.png

5. 下記の画面が表示されますので、再度 "+" ボタンを押し、文字列を入力(ここでは "test2" とします)した後、"保存" ボタンを押します。
kintone_6.png
kintone_7.png

6. 下記の画面が表示されますので、"testApp" リンクを押し、2件のデータが登録されていることを確認します。
kintone_8.png
kintone_9.png

7. 次に Talend Open Studio を起動します。先ほど展開したフォルダ配下の TOS_DI-20180116_1512-V6.5.1\TOS_DI-win-x86_64.exe を起動します。

8. 下記の画面が表示されますので、"x" を押してください。
Talend_Salesforce_1.png

9. 下記の画面が表示されますので、"リポジトリ" の "ジョブ" を右クリックし、"ジョブの作成" を選択してください。
Talend_Salesforce_2.png
Talend_Salesforce_3.png

10. 下記の画面が表示されますので、"名" を入力(ここでは "TrialKintone1" とします)し、"Finish" ボタンを押してください。
Talend_Kintone_1.png

11. 下記のように画面が表示されます。
Talend_Kintone_2.png

12. 次に kintone 用の JDBC接続を作成します。"リポジトリ" の "DB接続" を右クリックし、"DB接続の作成" を選択してください。
Talend_Salesforce_6.png

13. 下記の画面が表示されますので、"名" を入力(ここでは "JDBC_kintone" とします)し、"Next" ボタンを押してください。
Talend_Kintone_3.png

14. 下記の画面が表示されますので、"DBタイプ" として "General JDBC" を選択してください。
Talend_Salesforce_8.png

15. 下記の画面が表示されますので、それぞれ次のように設定してください。
Talend_Salesforce_9.png

JDBC URL
[kintone 評価版アカウントの取得](#kintone-評価版アカウントの取得) にて作成した"ユーザ"、"パスワード"、"URL"を用いて下記の文字列を作成し、設定してください。 ```jdbc:kintone:Username=ユーザ;Password=パスワード;URL=URL;```
ドライバJar
"外部モジュール" を選択し、"追加" ボタンを押し、先の [CData JDBC Driver for kintone インストール](#cdata-jdbc-driver-for-kintone-インストール) でインストールしたパスから lib\cdata.jdbc.kintone.jar を選択した後、"OK" ボタンを押してください。
クラス名
"cdata.jdbc.kintone.KintoneDriver" を選択してください。
ユーザー名
[kintone 評価版アカウントの取得](#kintone-評価版アカウントの取得) にて設定したユーザを入力してください。
パスワード
[kintone 評価版アカウントの取得](#kintone-評価版アカウントの取得) にて設定したパスワードを入力してください。

16. "Finish" ボタンを押してください。
Talend_Kintone_4.png

17. "リポジトリ" の "メタデータ"、"DB接続" の下に "JDBC_kintone" が作成されますので、右クリックし、"スキーマ情報の取得" を選択してください。
Talend_Kintone_5.png

18. 下記の画面が表示されますので、"Next" ボタンを押してください。
Talend_Salesforce_13.png

19. "名" を展開し、"testApp" テーブルをチェックし、"Next" ボタンを押してください。
Talend_Kintone_6.png

20. 下記の画面が表示されますので、"Finish" ボタンを押してください。
Talend_Kintone_7.png

21. "リポジトリ" の "メタデータ"、"DB接続"、"JDBC_kintone"、"テーブル" の下に "testApp" オブジェクトが作成されていることを確認できます。
Talend_Kintone_8.png

22. 21. の "testApp" オブジェクトを右クリックし、"クエリの編集" を選択してください。
Talend_Kintone_9.png

23. 下記の画面が表示されますので、青枠の "SQLの実行" を押してください。
Talend_Kintone_10.png

24. "クエリの結果" に kintone アプリ "testApp" で入力したレコードの一覧が表示されますので、"test1" の入力に対応する "RecordId"、"AppId" フィールドの値を記録してください。
Talend_Kintone_11.png

25. 次に Access を起動し、下記の形で "testApp" テーブルを作成してください。
Talend_Kintone_12.png

RecordId
主キー
データ型: 数値型
フィールドサイズ: 長整数型
値要求: はい
インデックス: はい(重複なし)

AppId
データ型: 数値型
フィールドサイズ: 長整数型
値要求: はい
インデックス: はい(重複あり)

input1
データ型: 短いテキスト
フィールドサイズ: 255
値要求: いいえ
インデックス: いいえ
また、データとして下記の値を登録してください。
RecordId
24. で記録した "RecordId" フィールドの値
AppId
24. で記録した "AppId" フィールドの値
input1
任意の値 (ここでは "test11" とします)

26. [Microsoft Access から Salesforce Sales Cloud のデータを更新]
(https://qiita.com/kamega/items/b3e7d6b0d9ff17f2c5ff) の Access から Salesforce のデータ更新 事前準備 20. ~ 23. を参照し、Talend 上で Access 用の JDBC接続を作成してください。

27. "リポジトリ" の "メタデータ"、"DB接続" の下に "JDBC_Access" が存在しますので、右クリックし、"スキーマ情報の取得" を選択してください。
Talend_Kintone_13.png

28. 下記の画面が表示されますので、"Next" ボタンを押してください。
Talend_Salesforce_13.png

29. "名" を展開し、"testApp" テーブルをチェックし、"Next" ボタンを押してください。
Talend_Kintone_14.png

30. 下記の画面が表示されますので、"Finish" ボタンを押してください。
Talend_Kintone_15.png

31. "リポジトリ" の "メタデータ"、"DB接続"、"JDBC_Access"、"テーブル" の下に "testApp" オブジェクトが作成されていることを確認できます。
Talend_Kintone_16.png

事前準備はここまでとなります。

Access から kintone のデータ更新 ジョブの作成

ここでは Access から kintone のデータ更新を行う事例として、kintone アプリ "testApp" の文字列を変更するジョブを作成します。

1. Talend の "メタデータ"、"DB接続"、"JDBC_Access"、"テーブル"配下の "testApp" オブジェクトをジョブ "TrailKintone1" へドラッグ & ドロップすると、コンポーネント選択ダイアログが表示されますので、"tJDBCInput" を選択し、"OK"ボタンを押してください。
Talend_kintone_Job_1.png
Talend_Salesforce_Job_2.png

2. 次に、"メタデータ"、"DB接続"、"JDBC_kintone"、"テーブル"配下の "testApp" オブジェクトをジョブ "TrailKintone1" へドラッグ & ドロップし、コンポーネント選択ダイアログから "tJDBCOutput" を選択し、"OK"ボタンを押してください。
Talend_kintone_Job_2.png

3. "Palette" から "tMap" オブジェクトをジョブ "TrailKintone1" へドラッグ & ドロップしてください。
Talend_kintone_Job_3.png

4. "JDBC_Access" の "testApp" オブジェクトをクリックすると、下記のように変化するので、青枠の部分をクリックし、先ほど追加した "tMap" オブジェクトまでドラッグ & ドロップしてください。
Talend_kintone_Job_4.png

5. 同様に "tMap" オブジェクトをクリックし、青枠の部分を "JDBC_kintone" の "testApp" オブジェクトまでドラッグ & ドロップしてください。出力名の入力を求められますので、"toKintone" と入力し、"OK" ボタンを押してください。その後、"ターゲットコンポーネントのスキーマを取得しますか ?" と問われますので、"Yes"ボタンを押してください。
Talend_kintone_Job_5.png

6. "JDBC_kintone" の "testApp" オブジェクトをクリックし、"コンポーネント" タブの "データ操作" を "更新" に変更してください。
Talend_kintone_Job_6.png

7. "tMap" オブジェクトをダブルクリックすると、下記の画面が表示されます。右側の "toKintone" のフィールドを "RecordId"、"AppId"、"input1" だけ残して削除してください。削除は右下のスキーマエディタにてフィールドを選択した後、赤×ボタンにて行います。
Talend_kintone_Job_7.png

8. 次に、右上の "自動マップ" を押し、"JDBC_Access" の "testApp" オブジェクトと "JDBC_kintone" の "testApp" オブジェクトの紐付けを行います。 また、"row1" の "AppId", "RecordId" の "タイプ" を "Integer" に変更してください。 その後、"OK" ボタンを押すと、"変更を反映しますか ?" と問われますので、"Yes"ボタンを押してください。
Talend_kintone_Job_8.png

9. "実行" タブの実行ボタンを押してください。
Talend_kintone_Job_9.png
Talend_kintone_Job_10.png

10. エラーがなく実行が完了した際、kintone 評価版アカウントの取得 にて作成したアカウントにて、kintone にログインし、アプリ "testApp" を起動します。レコード番号1 の "input1" の値が Access から kintone のデータ更新 事前準備 の 25. にて設定したものに更新されていることを確認します。
kintone_12.png
kintone_13.png

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?