こんにちは。CData Software Japanリードエンジニアの杉本です。
Windows で主によく利用されるイメージの「ODBC」の規格ですが、実は「Unix」や「Mac」でも利用することが可能というのはご存知でしょうか。
CData ODBC DriverではそんなUnixやMac向けにも専用の各種Driverを提供していたりします。
https://www.cdata.com/jp/drivers/salesforce/download/odbc/#unix
例えば、ODBC Unix Driver とPHPと組み合わせて自社で利用する業務Webアプリを作っているお客様も多く居ます。
今回はそんなODBC Unix DriverをAWSで提供されているEC2 Amazon Linux OS上で動かす方法を紹介したいと思います。
ちなみにSalesforce Driverを利用していますが、KintoneやDynamics 365どのデータソースでも使用方法は基本的に一緒です。
CData Salesforce Unix ODBC Driverのダウンロード
まず、「CData Salesforce Unix ODBC Driver」をダウンロードしましょう。
以下のURLから30日間のトライアル版がダウンロードできます。
https://www.cdata.com/jp/drivers/salesforce/download/odbc/#unix
ちなみにUbuntu のようなDebian ベースのOSの場合とRPM パッケージ形式をサポートする場合のOSとで利用するドライバーの本体が異なります。
詳しくは以下のヘルプを参照してみてください。
cdn.cdata.com
Amazon Linux はRPMパッケージをサポートするOSかつ、64 bit ベースなので以下の「setup.x86_64.rpm」をダウンロードします。
このrpmファイルは後ほどEC2にアップロードして利用します。
EC2 Amazon Linux 環境の構成
次にAWS EC2のインスタンスを立ち上げます。
最小環境で構成しますが、必要な性能要件は利用するデータソースや頻度、求めるパフォーマンスによって異なります。
AMIはベーシックな「Amazon Linux 2 AMI(HVM) SSD Volume Type」を選択しました。
無料利用枠の対象である「t2.micro」で立ち上げています。
環境構成後、SSHでローカルから接続します。
Unix ODBC Driver インストール手順
EC2 Amazon Linux 環境が構成できたら、Unix ODBC Driver のインストールを進めましょう。
先程ダウンロードしておいた、CData Unix ODBC Driverの本体をEC2上にアップロードします。アップロード方法は特に問いませんが、今回は以下のようにSCPコマンドでアップロードしました。
scp -i C:\Work\XXXX.pem C:\Driver\SalesforceODBCDriverforUnix.rpm ec2-user@ec2-XXX-XXX-XXX-XXX.ap-northeast-1.compute.amazonaws.com:/home/ec2-user/
その後依存関係で必要となるパッケージをyumコマンドでインストールします。
cdn.cdata.com
sudo yum install glibc libstdc++ zlib libgcc
sudo yum install unixODBC unixODBC-devel -y
依存関係のインストールが完了したら、rpmコマンドでDriverをインストールしましょう。
sudo rpm -ivh SalesforceODBCDriverforUnix.rpm
ちなみにアンインストールする場合は、以下のようなコマンドを実行します。
sudo rpm -evh cdata-odbc-driver-for-salesforce
ODBC Driverの設定
インストール完了後、Driverのセットアップを進めます。
まずトライアル用のライセンスをインストールしましょう。
「/opt/cdata/cdata-odbc-driver-for-salesforce/bin/」フォルダにライセンスインストール用の実行ファイルがあるので、これを実行します。
cd /opt/cdata/cdata-odbc-driver-for-salesforce/bin/
sudo ./install-license.x64
次にODBC DriverのライブラリをUnixODBCに登録します。
sudo vi /etc/odbcinst.ini
以下のような内容が記載されているか確認してください。
[CData ODBC Driver for Salesforce]
Driver=/opt/cdata/cdata-odbc-driver-for-salesforce/lib/libsalesforceodbc.x64.so
Description=CData ODBC Driver for Salesforce
最後にSalesforceへの接続設定をODBC DSNとして登録します。
sudo vi /etc/odbc.ini
以下が設定例です。
cdn.cdata.com
[CData Salesforce Source]
Driver=/opt/cdata/cdata-odbc-driver-for-salesforce/lib/libsalesforceodbc.x64.so
User=YOUR_USER_ID
Password=YOUR_USER_PASSWORD
Security Token=XXXXXX
ODBC DSNにはSalesforce へのログインユーザーID・PWと共にSalesforce から取得できるセキュリティトークンを指定します。
プロパティ名 |
値 |
備考 |
User |
例)YOUR_USER_ID |
SalesforceのユーザーIDを指定 |
Password |
例)YOUR_USER_PASSWORD |
SalesforceのユーザーPWを指定 |
Security Token |
例)XXXX |
詳しい設定値はこちらを参照してください |
isql を使って接続を試す
接続設定が完了したので、「isql」を使ってクエリを実行してみましょう。
以下のようにisql のパラメータで事前に定義したODBC DSNを指定して接続します。
isql -v "CData Salesforce Source"
以下のような画面が表示されるので、SQL文を入力します。
+
関連コンテンツ