IBM i (旧AS400）の自己学習メモ　ツール編０２　Eclipse＋DBeaverでSQL実行

# 自己学習メモインデックス

[IBM i (旧AS400）の自己学習メモ　インデックス](https://qiita.com/You_name_is_YU/items/3964849e7803c8eaf767)

# 概要

データ転送ツールを利用したデータの取得では、手順が多くかなり面倒なことが多いです。
もちろんWRKQRYやSTRSQLでも対象のデータを調査することは可能ですが、5250の画面ではどうしても大量のデータで多くのカラムのデータを参照することは向いていません。
Eclipseのプラグインである`DBeaver`を利用して、AS400に接続してSQLを実行することで、5250の画面に依存しないデータの調査や取得を簡単に実現したいと思います。

ここではPUB400.comを利用している前提の手順です。
自社の環境で利用する場合、ホスト名の部分や、ポート番号などが異なりますのでその辺は読み替えてください。

# 環境情報

- Eclipse 2020-03
- DBeaver

# DBeaverを利用したAS400への接続設定

## Eclipseの環境構築

EclipseのAll in oneパッケージとなっているPleiades All in Oneを利用します。
https://mergedoc.osdn.jp/

Windows版であればzipを解凍してすぐ使えますし、Mac版ではdmgファイルを使ってインストールを進めるだけで利用可能です。
細かい手順については割愛します。

## EclipseにDBeaverのインストール

Eclipseを起動して、[ヘルプ] -> [Eclipseマーケットプレース]を選択し、検索ボックスに「DBeaver」と入力してEnter
出てきたDBeaverの[インストール]ボタンを押下してインストールする。
<img width="894" alt="スクリーンショット 2020-05-02 8.03.55.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246556/cf7cd966-921d-c68f-fed2-75619792d831.png">

インストールが完了すると、Eclipseの再起動を求められるので再起動しておくこと。

## EclipseのパースペクティブにDBeaverを追加して表示する

[ウインドウ] -> [パースペクティブ] -> [パースペクティブを開く] -> [その他]を選択
[DBeaver]を選択して[開く]ボタンを押下

下図の赤枠のDBeaverパースペクティブが選択されている状態（DBeaverパースペクティブが表示されている状態）にすればOK。
<img width="1082" alt="スクリーンショット 2020-05-02 8.10.45.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246556/c871cd15-565a-72b1-5583-646fe4ef3556.png">

## AS400へ接続するためのDBeaverの設定

まずDBeaverで接続情報を設定する前に、プロジェクトを作成する必要があります。
プロジェクトビューの[プロジェクトの作成]ボタンを押下
<img width="321" alt="スクリーンショット 2020-05-02 8.12.28.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246556/e0b20d2c-8164-fa5f-b182-041ca28699ff.png">

任意のプロジェクト名を入力して[完了]ボタンを押下
<img width="1107" alt="スクリーンショット 2020-05-02 8.13.46.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246556/fac6a350-fefe-552a-d166-0013f886981b.png">

作成したプロジェクト名を右クリック -> [作成] -> [接続]
<img width="591" alt="スクリーンショット 2020-05-02 8.15.09.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246556/d8466249-4a2d-b808-765f-a9f0068a7f76.png">

左ペインの[すべて]を選択した状態で、検索ボックスに"DB2"と入力して検索し、
`DB2 iSeries/AS 400`を選択して[次へ]ボタンを押下
<img width="1082" alt="スクリーンショット 2020-05-02 8.16.25.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246556/91a49686-8bfd-1b04-7c24-53cc577360c6.png">

以下の設定をする

- JDBC URL
    - `jdbc:as400://PUB400.com;libraries=YAMAGUCHI1;`
    - ここは特にて入力する必要はありません。以下のホストとデータベース/スキーマの設定をすることで自動生成されます。
- ホスト
    - PUB400.com
    - 自社の環境であればそれに合わせてください。ホスト名で名前解決できない環境の場合は、IPアドレスを入力してください。
- ポート
    - デフォルトでは446です。PUB400.comでは変更する必要はありません。
- データベース/スキーマ
    - YAMAGUCHI1
    - PUB400.comで利用している自分のライブラリを指定します。（PF/LFのオブジェクトが格納されているライブラリ）
- ユーザー名
    - ログインユーザー名
- パスワード
    - ログインパスワード

<img width="1082" alt="スクリーンショット 2020-05-02 8.18.56.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246556/2fb2ef2d-c322-7006-91c3-b61bb11854d2.png">

上記設定は、Eclipseの環境で適切なJDBCドライバのクラスパスが参照できていて、利用できる状態で初めて有効な設定となります。
Eclipseを新規インストールしたばかりの状態だと、AS400JDBCDriverのクラスが利用できる状態でないため、JDBCドライバをダウンロードしておく必要があります。

[ドライバの設定を編集]ボタンを押下し、表示された画面の[ダウンロードと更新]ボタンを押下する。
<img width="1082" alt="スクリーンショット 2020-05-02 8.24.59.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246556/a7fedfe6-9638-b877-c4a1-15913fe002d7.png">

[ダウンロード]ボタンを押下する
<img width="1082" alt="スクリーンショット 2020-05-02 8.27.48.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246556/cd58c6e0-ace8-e13a-76a0-10490bc21754.png">

これで適切なJDBCドライバがダウンロードされます。
以上の手続きが完了したら[OK]ボタンを押下して設定を完了します。

## DBeaverを利用してAS400に接続してSQLを実行

上記手順まで完了すると、AS400への接続情報が登録できているので、プロジェクトビューの
[プロジェクト名] -> [Connections] -> [DB2 iSeries/AS 400...]が追加されている状態となります。
これを右クリック -> [接続する]を選択してAS400へ接続する。
<img width="633" alt="スクリーンショット 2020-05-02 8.29.57.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246556/1077fbf2-950d-3d9b-9886-742e24dad0f9.png">

接続が完了すると下図のようにデータベース情報が展開できて、例えばテーブルの一覧などが確認できます。
<img width="301" alt="スクリーンショット 2020-05-02 8.33.05.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246556/2e203ba6-cbb4-ab39-e86b-f4fbb7a21e7b.png">

`F3`キーを押下すると新規でSQLエディターを開くことができます。
開いたSQLエディタに任意のSQLを入力し、実行ボタンを押下すると、画面下部のビューに実行結果が表示されます。
<img width="1126" alt="スクリーンショット 2020-05-02 8.35.22.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246556/74b91145-577d-4377-5e79-a7b1dc3b5a42.png">

------

# Eclipseにマーケットプレイスが無い場合

この記事ではPleiades all in oneを利用しているためマーケットプレイスは利用可能でしたが、
マーケットプレイス自体もプラグインなので、デフォルトでインストールされていないプレーンなEclipseを導入している場合は、マーケットプレイスが無い場合もあるようです。

https://www.eclipse.org/downloads/
からダウンロードしてWindows10環境にセットアップしてみましたが、マーケットプレイスがあったため、再現はできませんでした。

![スクリーンショット 2020-11-30 21.15.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246556/6dc3aac7-1606-a00f-c014-1f17f37e3da5.png)

なので、参考となる情報だけ記載します。
https://ex1.m-yabe.com/archives/3919

この記事にあるように、Eclipseのヘルプ -> 新規ソフトウェアのインストールから、
http://download.eclipse.org/mpc/neon/ のURLを追加して、
`EPPマーケットプレイス・クライアンス`プラグインをインストールすることでマーケットプレイスが出てくるようです。

# Windows環境でのEclipse＋DBeaver

Windows環境でもあまり苦労せず（特にJavaを別途インストールしてセットアップするなどの苦労をせず）に、
Eclipse環境を構築可能な、Pleiades all in oneで用意してくれているEclipse環境を前提に、
Windows10環境でEclipseの環境構築をしてマーケットプレイスを利用するところまでの手順参考までに記載します。

まず下記サイトにアクセスします。
https://mergedoc.osdn.jp/

アクセスしたら、Eclipse 2020をクリックします。

![スクリーンショット 2020-11-30 20.13.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246556/7db61f03-f528-2429-5273-f0c4438359d9.png)

JavaのFull EditionのDownloadボタンをクリックします。

![スクリーンショット 2020-11-30 20.15.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246556/fa5d5c80-bad0-1751-b44b-ed0f601e157f.png)

Downloadが完了したら、任意のディレクトリにEclipseを解凍します。
※解凍する際にいくつか注意点があるため、Pleiadesのサイトの注意書きをよく読んでください。

ポイントとしては

- 注意書きにある通り 7-Zip を使って解凍する。
- 展開されるファイルのフルパスが２６０文字を超えると正常に動作しないため、深いディレクトリ階層には解凍しない。
    - 例えばデスクトップなどに展開すると、パスが深くなってしまうため、CやDドライブ直下にEclipseなどのディレクトリを作り、そこに展開する。

![スクリーンショット 2020-11-30 20.18.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246556/5667a9be-0660-e1fe-d9cd-110bd2048517.png)

![スクリーンショット 2020-11-30 20.31.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246556/3eb50916-22bb-8678-1de6-f2b4db3fd778.png)

Eclipseを起動して、[ヘルプ] -> [Eclipseマーケットプレース]を選択し、検索ボックスに「DBeaver」と入力してEnter
出てきたDBeaverの[インストール]ボタンを押下してインストールする。

![スクリーンショット 2020-11-30 20.35.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/246556/5e7a26de-dbd8-025f-4204-756014ab9a0e.png)

ここから先は、本記事の内容の通りに「DBeaver」を設定すればOKです。