DataDirectを経由して、SalesforceにODBC接続してみた

ExcelからODBC接続をしてSalesforceのデータを取得するまでの一連の過程、結果を記述します。

# 目次
1.Salesforce Developer Editionのアカウントの取得
2.ODBCドライバのダウンロードとインストール
3.pathの設定
4.PC本体でのODBCの接続設定
5.Excelなどのソフトウェアを使ってODBC接続設定とデータのインポート

##実行環境
OS: Windows10 HOME
OSビルド: 18362.778

## 注意点
この記事ではODBC接続をする際のソフトウェアとして一般的なExcelを使用しています。SQL Serverなど他のソフトウェアでは動作検証していないのでご注意ください。ただ、手順4までの流れは各ソフトウェアで同じですので参考にして頂けます。

####①Salesforce Developer Editionのアカウントの取得
まず、https://developer.salesforce.com/jpblogs/2016/04/developer-edition-signup/
にアクセスすると図①の画面が出ます。

図①
![無題.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/624511/1e90f27b-a9e5-8653-e616-870a55e62506.jpeg)

次に、画面の案内に従ってsalesforceにサインアップをしましょう。そうすると自分の氏名などを入力する図②に遷移するので必要な情報を入力しましょう(項目の中の[ユーザ名]には、Eメールアドレス形式の一意なIDが必要となります。例えば: firsname.lastname@workshop.com (既存のEメールアドレスである必要はありません : ユーザ名はEメールの送信・受信には使われません。))。

図②
![コメント 2020-04-24 162623.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/624511/7f0cfa44-aacc-b9c4-cbda-b5913204654b.jpeg)


下にスクロールしサインアップのボタンを押すと間もなくDeveloper Editionアカウントの有効化メールを受信しますので、Eメールをチェックします。そして有効化メールの中にあるリンクをクリックします。パスワード情報を入力し、保存 をクリックします。以降は、受け取ったメールのリンクからログインできます(図③)(ユーザー名はメールにあります)。

図③
![mail.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/624511/0d87cc5e-e404-e911-f9db-e70e7160098c.jpeg)

ここまででSalesforce Developer Editionのアカウントの取得が完了しました！

####②ODBCドライバのダウンロードとインストール
さっそくODBCドライバのダウンロードをするために、
https://www.ashisuto.co.jp/datadirect/app_download/
にアクセスしましょう。アクセスすると「DataDirect Connect for ODBC Windows版 ・ Linux/Unix版」の32bit版か62ビット版のどちらかをお使いのPCのスペックに応じて選択し、必要情報を入力し該当ファイルをダウンロードします。

次に、PROGRESS_DATADIRECT_ODBC_SALESFORCE_WIN_64.zipといったファイル(若干ファイル名が異なるかもしれません)を解凍します(もし解凍の仕方が分からなければ「解凍ソフト」でググれば出てきます)。解凍して出てきたフォルダにDriverModules、PROGRESS_DATADIRECT_ODBC_8.0_WIN_64_INSTALL.exeが出てくると思うので、PROGRESS_DATADIRECT_ODBC_8.0_WIN_64_INSTALL.exeをダブルクリックします。ユーザーアカウント制御のポップが出てきたら「はい」を押しましょう。そうするとインストールの準備が始まるのでしばらく待ちましょう。PROGRESS DATADIRECT for ODBCの画面が出てきたら、右下のNEXTを押してどんどん進めていくとインストールは完了します。(途中のLicense AgreementはI acceptの方を選びます(図⑤))。


図⑤
![コメント 2020-04-24 173849.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/624511/e91323d9-5c23-d121-8f1f-a73a9e2afe98.jpeg)

※インストールが終了しても、ポップアップなどがおそらく出ないので明示的には分からないと思いますが、この後の手順③でSaleforceが表示されていればインストールできています。

####③pathの設定
ODBCドライバをダウンロードする前にpathの設定をします。
まずは、PCのローカルでの検索機能を用いて「環境変数」と検索し、出てきたシステム環境変数の設定をクリックします(図④)。そして出てきた「システムのプロパティ」の下部にある環境変数をクリックします。そうすると上部にユーザー環境変数、下部にシステム環境変数と出てきますが、ここでは下部のシステム環境変数の枠の中にあるPathを選択し、編集を押します。そうすると、環境変数名の編集というポップが出てくる(図④)ので、新規を押し、C:\Program Files\Progress\DataDirect\ODBC\jre\bin\serverを追加し、OKを押して閉じます。

図④
![コメント 2020-04-24 195805.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/624511/41a8c36d-c5b2-a19d-7942-730b9fa7d78b.jpeg)



####④PC本体でのODBCの接続設定
まず、PCのローカルでの検索機能を用いて「ODBCデータソースアドミニストレーター」を起動します(私だとここで32bit版が出てきますが、64bitの方は32bit版を使うことはできないので[C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools]にある[ODBC データ ソース (64 ビット)]を選択しましょう)。そうするとユーザーDSNの中の名前にSalesforceがあるので、それを選択し、構成を押します。すると図⑤が出てくるので各項目の入力方法を下記で説明します。

図⑤
![コメント 2020-04-24 200723.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/624511/af284665-a7c4-4f06-696d-70d027efa764.jpeg)

まず、Host Nameは手順①で取得して頂いたSalesforceのホームページに載っています(図⑥)

![コメント 2020-04-24 201537.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/624511/4597021d-6faa-0629-e7a4-2ad1eea42638.jpeg)


そして、User Nameは手順①の図③にあるユーザ名を入力してください。
Security Tokenはhttps://help.salesforce.com/articleView?id=user_security_token.htm&type=5
を参照して一旦リセットすることで確認できます。
最後のSchema Mapは項目を上から順番に入力していけば自動入力されます。
全ての項目を入力し終わったら、Testconnectを押して、Salesforceにログインしたときと同じIDとパスワードを入力して、Connection establishedと表示されればODBC接続の完了です！

####⑤Excelを使ってODBC接続設定
まずはExcelを起動し、一覧から「データ」を選択し図⑦のように「ODBCから」をクリックします。そうしたら
「ODBCからインポート」と表示されたポップが出てくるので、データソース名をSalesforceに選択しOKを押します。

図⑦
![コメント 2020-04-25 142329.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/624511/4ec73876-0786-44f9-3cdc-53ddf83b8e9e.jpeg)

最後にナビゲータが自動的に出てくるので、SFORCEからインポートしたいデータを選択し、読み込みを押します(図⑧)。

図⑧
![コメント 2020-04-25 150155.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/624511/e7ca3f36-f607-2ee2-54af-959e8baa9ad8.jpeg)


## 結果
図⑨のようにデータに加えてID、NAMEなどのラベルもAutoで読み込まれました。シートも新たに作成されているので、既存のシートを誤って消してしまう心配もありません！

図⑨
![コメント 2020-04-25 150515.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/624511/f4c60af9-dbbf-48f7-daca-e02a314a3e96.jpeg)