CData Software ハンズオン（Javaコンソールアプリケーションからkintoneデータを取得）

# 使用するCData製品

- [CData kintone JDBC Driver](http://www.cdata.com/jp/drivers/kintone/jdbc/)

# Java実行環境の確認

下記のコマンドをPowerShellもしくはDOSから実行して、Java実行環境を確認します。

```dosbatch
PS C:\> java -version
java version "1.8.0_152"
Java(TM) SE Runtime Environment (build 1.8.0_152-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode)
```
インストールされていない場合は、下記のリンクよりJDKをダウンロードしてインストールしてください。

- [Java SE Development Kit(JDK)8](http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)

# CData kintone JDBC Driverのインストール

以下のサイトから評価版ビルドをダウンロードします。

- [CData kintone JDBC Driver](http://www.cdata.com/jp/drivers/kintone/download/jdbc/)

ダウンロードされたZIPファイル内の「setup.jar」ファイルを起動します。
(注)途中オンラインでのアクティベーションが実行されるためインターネットアクセス出来る環境で行ってください。

下記のようなインストーラが起動するので、ライセンス契約書を確認した上で、デフォルト設定のままインストールを進めて完了させます。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/00ae73d6-9ae8-74f4-08f6-a65bf6f8930d.png)

インストールが完了するとデフォルトブラウザが起動して製品ヘルプファイルが起動します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/e2cab922-e212-d231-b408-2bcd48b7d678.png)

# システム環境変数への登録

インストールしたJDKのbinフォルダをシステム環境変数に登録してください。

（参考）システム環境変数の設定　「コントロールパネル > システムとセキュリティ > システム > システム詳細設定　> システムのプロパティ > 環境変数」

| 変数名 | 値 |
|:-----------------|:------------------|
| Path | C:\Program Files\Java\jdk1.8.0_152\bin |

（注）JDKのフォルダ名はインストールした任意のバージョンに変更してください。
（注）環境変数を登録したらPowerShellもしくはDOSを再起動してください。なお、その際には「管理者として実行する」で起動してください。

下記コマンドをPowerShellもしくはDOSから実行するとjavacコマンドヘルプが表示されます。システム環境変数に正常に登録が出来きました。

```dosbatch
PS C:\> javac
使用方法: javac <options> <source files>
使用可能なオプションには次のものがあります。
  -g                         すべてのデバッグ情報を生成する
  -g:none                    デバッグ情報を生成しない
　　　　〜 (省略) 〜
  -Werror                    警告が発生した場合にコンパイルを終了する
  @<filename>                ファイルからの読取りオプションおよびファイル名
PS C:\>
```

# Javaのサンプルコンソールプログラムの確認

CData製品のデフォルトインストールパス配下「"C:\Program Files\CData\CData JDBC Driver for kintone 2017J\demos\console\databrowser"」にJavaのコンソールプログラム「DataBrowser.java」が格納されています。エディタなどで内容を確認すると400行弱のJavaのサンプルコードが格納されています。今回は、コンソールからSQLを実行出来るこのプログラムを実行してみます。

# Javaプログラムのコンパイル

「DataBrowser.java」が格納されているディレクトリに移動して、javacコマンドでコンパイルします。本サンプルプログラムでは、CData kintone JDBC Driverのライブラリを利用しているので「cdata.jdbc.kintone.jar」をクラスパス（-cp）で指定します。

```dosbatch
PS C:\> cd "C:\Program Files\CData\CData JDBC Driver for kintone 2017J\demos\console\databrowser"
PS C:\Program Files\CData\CData JDBC Driver for kintone 2017J\demos\console\databrowser> javac -cp ".\;../../../lib/cdata.jdbc.kintone.jar" DataBrowser.java
```

コンパイルが正常に完了すると、複数の「.class」ファイルが同ディレクトリに作成されます。

```dosbatch
PS C:\Program Files\CData\CData JDBC Driver for kintone 2017J\demos\console\databrowser> dir


    ディレクトリ: C:\Program Files\CData\CData JDBC Driver for kintone 2017J\demos\console\databrowser

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       2017/11/06     19:06            256 .classpath
-a----       2017/11/06     19:06            335 .project
-a----       2018/01/14     14:57           2257 ConsoleDemo.class
-a----       2018/01/14     14:57            894 DataBrowser$1.class
-a----       2018/01/14     14:57            686 DataBrowser$2.class
-a----       2018/01/14     14:57            750 DataBrowser$3.class
-a----       2018/01/14     14:57            902 DataBrowser$ERRORS.class
-a----       2018/01/14     14:57           1040 DataBrowser$QUERY_TYPES.class
-a----       2018/01/14     14:57           1333 DataBrowser$TERMS.class
-a----       2018/01/14     14:57          10779 DataBrowser.class
-a----       2017/11/06     19:06          13677 DataBrowser.java
-a----       2017/11/06     19:17           2907 databrowser.properties

PS C:\Program Files\CData\CData JDBC Driver for kintone 2017J\demos\console\databrowser>
```

# Javaプログラムの実行

これでは、サンプルプログラムを実行して見ましょう。クラスパス（-cp）をパラメータに指定することを忘れないでください。

```dosbatch
PS C:\Program Files\CData\CData JDBC Driver for kintone 2017J\demos\console\databrowser> java -cp ".\;../../../lib/cdata.jdbc.kintone.jar" DataBrowser
```

起動すると下記のようなコンソールアプリケーションが起動します。

```dosbatch
******************************************************************
                 kintone 2017J デモ
このデモは、CData JDBC Driver For kintone 2017J を使用します。
******************************************************************
下に接続プロパティを入力してください。

Url:
```
以下の項目を設定ください。

| kintoneの接続情報 | 設定項目 |
|:-----------------|------------------|
| kintoneのサブドメイン含むサイトURL（例：https://****.cybozu.com） |Url|
| ユーザID | User |
| パスワード |Password|

本コンソールアプリケーションで使用出来るコマンド一覧が表示されます。

```dosbatch
実行可能コマンド:
(SELECT|INSERT|UPDATE|DELETE) <式>
DESCRIBE <tablename>
SHOW TABLES
QUIT
HELP
>

```

「SHOW TABLES」コマンドでkintone内のアプリ一覧が表示されます。

```dosbatch
>SHOW TABLES
+-----------+
| Tables    |
+-----------+
| Apps      |
| Comments  |
| 案件情報      |
| 案件情報_商談履歴 |
| 顧客情報      |
+-----------+
>
```

```dosbatch
>SHOW TABLES
+-----------+
| Tables    |
+-----------+
| Apps      |
| Comments  |
| 案件情報      |
| 案件情報_商談履歴 |
| 顧客情報      |
+-----------+
>
```

「select * from 案件情報;」コマンドで案件情報アプリ内のデータが表示されます。

```dosbatch
>select * from 案件情報;
+----------+----------+-------+--------------------------+---------+-------+---------------------------+------+------+------------+--------+-----------------------------------------------------+
| RecordId | Revision | AppId | 顧客名                      | 部署名     | ご担当者名 | 案件名                       |  詳細   | 受注確度 | 受注予定日      | 受注金額   | 営業担当者Aggregate                                      |
+----------+----------+-------+--------------------------+---------+-------+---------------------------+------+------+------------+--------+-----------------------------------------------------+
| 12       | 2        | 402   | 株式会社ハンズオン建設              | NULL    | NULL  | CData API Server          | NULL | 内示   | 2018-01-30 | 100000 | NULL                                                |
| 11       | 1        | 402   | 株式会社ハンズオン建設              | NULL    | NULL  | CData Twitter ODBC Driver | NULL | 稟議   | 2018-02-02 | 100000 | NULL                                                |
| 10       | 1        | 402   | ハンズオン商社株式会社              | NULL    | NULL  | CData API Server          | NULL | 内示   | 2018-01-31 | 100000 | NULL                                                |
| 9        | 1        | 402   | ハンズオン商社株式会社              | NULL    | NULL  | CData Kintone ODBC Driver | NULL | 稟議   | 2018-02-02 | 100000 | NULL                                                |
| 8        | 1        | 402   | ハンズオン工業有限会社              | NULL    | NULL  | CData API Server          | NULL | 内示   | 2018-01-31 | 300000 | NULL                                                |
| 7        | 1        | 402   | ハンズオン工業有限会社              | NULL    | NULL  | CData Kintone JDBC Driver | NULL | 稟議   | 2018-02-02 | 200000 | NULL                                                |
| 2        | 1        | 402   | CData Software Japan合同会社 | テクニカル部門 | 伊達政宗  | CData Kintone ODBC Driver | NULL | 稟議   | 2018-02-02 | 100000 | {    "code": "cdatademo",    "name": "cdatademo"  } |
| 1        | 1        | 402   | CData Software Japan合同会社 | テクニカル部門 | 伊達政宗  | CData API Server          | NULL | 内示   | 2018-01-31 | 100000 | {    "code": "cdatademo",    "name": "cdatademo"  } |
+----------+----------+-------+--------------------------+---------+-------+---------------------------+------+------+------------+--------+-----------------------------------------------------+
>
```

本コンソールアプリケーションを終了したい場合は「QUIT」コマンドを入力してください。
Javaのコンソールアプリケーションからkintoneのデータを取得することが出来ました。