カスタムJDBC DriverをPower BIで利用する

# はじめに
内部利用のために構築したカスタムJDBC Driverをお持ちですか？またTableauやPower BIのようなビジュアライゼーションツールでの活用を検討していますか？これらのツールはODBCコネクションを利用するためJDBCドライバを直接利用することはできません。一方、Progress DataDirect SequeLinkは、JDBCドライバのODBCアクセスや、ODBCドライバのJDBCアクセスに役立つAPIブリッジソリューションです。今回はJDBCドライバとProgress DataDirect SequeLinkを使ってODBCアクセスを行う方法を一通り説明します。

Progress DataDirect SequeLinkにはサーバーコンポーネントとクライアントコンポーネントという二つの構成要素があります。この記事ではJDBCソケットとODBCクライアントを使いODBCコネクション経由でJDBCドライバにアクセスします。

またStocks-AlphaVantage API用に、Progress DataDirect OpenAccess SDKで構築したカスタムJDBCドライバを利用します。[ドライバ構築について詳しくはこちら](https://www.progress.com/tutorials/jdbc/build-your-own-custom-jdbc-driver-for-rest-api-in-2-hours)をご覧ください。

# 前提条件
動作環境：
Windows 7 64ビット以上
JDK 1.8 32ビット以上

ダウンロードとインストール：
1.[Progress DataDirect SequeLink ](https://www.progress.com/odbc/sequelink)のダウンロードページへ行き、ダウンロードボタンをクリックします。

2.ダウンロードページの**Server for JDBC Socket**にあるServer for Windowsをダウンロードします。

3.使用する予定のアプリケーションアーキテクチャに合わせて**Client for ODBC**にある32ビットまたは64ビットのWindows版をダウンロードします。

4.Server for JDBC Socket (sl600odbc64cl.zip)を開き、setup.exeを実行してサーバーをインストールします。

5.インストール中は、以下にある“SequeLink Service for JDBC Socket Settings”を除きdefaultsを選択してください。
![1-jdbc-sequelink-tableau.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/658441/9b4b80dc-c282-d129-6789-0c6709418ee8.png)

6.各項目には以下のとおり入力してください。
J2RE Path: C:\Program Files (x86)\Java\jdk1.8.0_161\jre

Driver Class Path: customJDBCDriver.jarまでのパス（C:\ProgramFiles\...\customJDBCDriver.jar; のような形式）

Driver Class Name: <自分のJDBC Driver Class名>

Connection URL: <自分のJDBC Connection URL>

7.Nextをクリックしてインストールを完了します。

8.スタートメニューからSequeLink Management Console Snap-inを開きます。管理コンソール内で

- SLAgent60とSLSocketJDBC60がどちらもactive/runningであることを確認してください。

- JDBCドライバの設定を変更したい場合には、以下から変更できます。
SLSocketJDBC60 -> Data Source Settings -> Default -> General

- ドライバのクラスパスを変更したい場合には、以下から変更できます。
SLSocketJDBC60 -> Service Settings -> Environment

- JVMのメモリ不足でドライバが実行できない場合には、[こちらのサポート情報](https://knowledgebase.progress.com/articles/Article/000039249)で解決方法を確認ください。

9.先へ進み、手順3. でダウンロードしたSequeLink ODBC clientをインストールしてください。
sl600odbc64cl.zipを開きsetup.exeを実行して、SequeLink ODBC driverをインストールします。

# ODBCクライアントを設定する
1.インストールしたドライバに合わせてODBCデータベースアドミニストレーター（32ビットまたは64ビット）を開いてから、DataDirect SequeLink 6.0を選択してクリックします。
![2-jdbc-sequelink-tableau.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/658441/0b0c1ac3-8cae-99e1-d069-95656dc9c71e.png)


2.以下のように詳細情報を入力します。SequeLink JDBC Socketの実行先はSLSocketJDBC60 -> Service Settings-> Generalで確認できます。
![3-jdbc-sequelink-tableau.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/658441/76351355-4068-f681-49c8-f656901c7a3a.png)
3.Test ConnectをクリックすればDataDirect SequeLink 6.0に接続できます。

# Power BIに接続する
1.Power BIを開きConnect to Other -> ODBCを開きます。先ほど作成したデータソースが確認できるはずです。

2.Power BIからカスタムJDBCドライバに接続できるようになりました。
![4-sequelink-jdbc-power-bi.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/658441/00ed58d0-2338-25b1-83ae-50360b434797.png)

3.こちらがStocks-AlphaVantage API用のカスタムJDBCドライバを使ってPower BI上に作成したビジュアルのサンプルです。
![5-sequelink-jdbc-power-bi.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/658441/dd7f0d9c-b8fd-0781-c4a5-c1b5aa37430a.png)

Progress DataDirect SequeLinkはどのJDBCドライバでも利用でき、アプリケーションにODBCコネクションとして接続できるようになります。また、ADO.NETやOLEDBといったレガシーテクノロジーにアクセスする必要がある場合にも、SequeLinkはこれらをサポートしています。是非Progress DataDirect SequeLinkを試してみてください。

参照：https://www.progress.com/tutorials/jdbc/use-your-custom-jdbc-driver-with-microsoft-power-bi