FlySpeed SQL Query でSalesforce データをクエリ

FlySpeed SQL Query は、Active Database Software 社のDB クライアント/クエリビルダーツールです。Free 版があり、ほぼフル機能で利用できます。

https://www.activedbsoft.com/overview-querytool.html

この記事では、CData ODBC Driver for Salesforce を使って、FlySpeed SQL Query からSalesforce データをクエリしてみます。

## CData ODBC Driver for Salesforce のインストールと接続設定
## ドライバーのダウンロード
[CData ODBC Driver for Salesforce](https://www.cdata.com/jp/drivers/salesforce/odbc/) は、Salesforce 内のデータを仮想RDB としてODBC 経由でのアクセスを可能にするライブラリです。

* 32-bit、64-bit アプリケーションをサポート。
* ODBC 3.8 準拠のネイティブプロトコルドライバー。
* ANSI SQL-92 をサポート。
* Unicode をサポートし、多様な言語、データをサポート。
* Windows、Linux、macOS にクロスプラットフォームで対応するODBC Drivers。

製品をDL してインストールを行います。デフォルト設定のままでクリックしてDL してください。

### Salesforce への接続
Salesforce アカウントへの接続にはSalesforce 側でセキュリティトークンを発行する必要があります。

Salesforce 画面の右上の［アカウント名］→［私の設定］を開き、［個人用］からセキュリティトークンを発行しておきます。

CData ODBC Driver for Salesforce のインストール終了後にODBC DSN の設定画面が開きます。

* User: Salesforce のユーザー名
* Password：Salesforce のパスワード
* Serucity Token：上記で取得したセールストークン
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/116843/8d107c66-6b39-2117-7bec-bd1683a70ff1.png)

［接続のテスト］で接続を確認し、問題がなければ［OK］を押して接続を確立します。

## FlySpeed SQL Query からSalesforce データをクエリ
### FlySpeed SQL Query のインストール
こちらのURL からFree 版のFlySpeed SQL Query をダウンロード・インストールします。
https://www.activedbsoft.com/overview-querytool.html

### FlySpeed SQL Query からSalesforce ODBC に接続
FlySpeed SQL Query を開きます。
［Connection］→［New Connection］をクリック
![スクリーンショット (802).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/116843/105234de-0f56-a86a-f7ba-70de3f3ba709.png)

コネクションウィザードで、［Generic ODBC Connection］を選択。
![スクリーンショット (803).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/116843/1865d027-c89d-6611-27a2-381d5e76878e.png)
![スクリーンショット (804).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/116843/93c22381-08bb-ad83-4a72-735eaabf560b.png)

ODBC DSN 選択画面で、上のステップで作成した［CData ODBC Driver for Salesforce］を選択します。
![スクリーンショット (806).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/116843/a090e859-4710-4a92-41a5-a0cf6c88975f.png)
![スクリーンショット (808).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/116843/69751cbf-b0b1-7f62-a7ea-1a51acdbd711.png)


### クエリ発行
これでSalesforce のデータが仮想RDB として表示できます。Salesforce のオブジェクトがテーブルとビューとして表示されます。
![スクリーンショット (809).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/116843/adbb78a1-1064-e2e4-d417-4073017ef842.png)

テーブル名だけでなく、オブジェクト内のフィールドがカラムとして表現されており、データ型などのスキーマ情報を付与されています。
![スクリーンショット (810).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/116843/2baa13d7-7c93-f5ad-4301-2d6552b7f7cd.png)

では、Lead テーブルを選んでクエリしてみましょう。

```SQL
SELECT * FROM LEAD
```
![スクリーンショット (814).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/116843/3f23e5e4-cd80-a810-b75a-9766bcbe4267.png)

Salesforce のLead オブジェクトのデータがクエリされ、表形式のレコードとして帰ってきました。
![スクリーンショット (815).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/116843/629637da-11d8-1560-63f6-cdc6232fb6a7.png)

取得以外にもフルCRUD 操作が可能です。

## まとめ
FlySpeed SQL Query でODBC 経由でSalesforce データのクエリができました。
CData では、150以上のデータソース向けに[ODBC Driver](https://www.cdata.com/jp/drivers/odbc/) を提供しています。

ちなみにActive Database Software 社は、データのエクスポートツールや、SQL Server などへのマイグレーションツールも提供しています。

ODBC 接続を基本としているので、次はそちらを試してみたいです。