CData Software Blog

クラウド連携のCData Software の技術ブログです。

PHP WebアプリケーションからLinux版CData ODBC Driverを利用する方法

はじめに

CData 技術ディレクター桑島です。本日は、Linux上のPHP WebアプリケーションからCData ODBC Driverを利用する方法をSalesforceへの接続を例にご紹介します。

構成

本手順では、AzureのCentOS上に構築しました。

f:id:kuwazzy:20200605135001p:plain

CData ODBC Driver for LinuxがサポートしているLinuxの最小バージョンや依存ライブラリはこちらからご覧いただけます。

cdn.cdata.com

手順

Linuxへのログイン

SSHコマンドでローカルマシンからPHP Webアプリケーションを構築するLinuxマシンに接続します。

~/Desktop/Work/pem $ ssh -i phptestadmin.pem phptestadmin@xxx.xxx.xxx.xxx
Warning: Permanently added 'xxx.xxx.xxx.xxx' (ECDSA) to the list of known hosts.
Password: 
Activate the web console with: systemctl enable --now cockpit.socket
[phptestadmin@PHPTest ~]$ 

CentOSのバージョンを確認します。

[phptestadmin@PHPTest ~]$ cat /etc/redhat-release
CentOS Linux release 8.1.1911 (Core) 
[phptestadmin@PHPTest ~]$ 

UnixODBCのインストール

yumでUnixODBCの依存ライブラリをインストールします。

[phptestadmin@PHPTest ~]$ sudo yum install glibc libstdc++ zlib libgcc

あなたはシステム管理者から通常の講習を受けたはずです。
これは通常、以下の3点に要約されます:

    #1) 他人のプライバシーを尊重すること。
    #2) タイプする前に考えること。
    #3) 大いなる力には大いなる責任が伴うこと。

[sudo] phptestadmin のパスワード:
CentOS-8 - AppStream                             49 kB/s | 3.5 kB     00:00    
CentOS-8 - Base                                  62 kB/s | 3.1 kB     00:00    
CentOS-8 - Extras                               3.5 kB/s | 1.5 kB     00:00    
パッケージ glibc-2.28-72.el8_1.1.x86_64 は既にインストールされています。
パッケージ libstdc++-8.3.1-4.5.el8.x86_64 は既にインストールされています。
パッケージ zlib-1.2.11-10.el8.x86_64 は既にインストールされています。
パッケージ libgcc-8.3.1-4.5.el8.x86_64 は既にインストールされています。
依存関係が解決しました。
行うべきことはありません。
完了しました!
[phptestadmin@PHPTest ~]$ 

yumでUnixODBCをインストールします。

[phptestadmin@PHPTest ~]$ sudo yum install unixODBC unixODBC-devel
メタデータの期限切れの最終確認: 0:01:57 時間前の 20200603035505秒 に実施しました。
依存関係が解決しました。
==========================================================================================
 パッケージ              Arch            バージョン              リポジトリー       サイズ
==========================================================================================
インストール:
 unixODBC                x86_64          2.3.7-1.el8             AppStream          458 k
 unixODBC-devel          x86_64          2.3.7-1.el8             AppStream           64 k
依存関係のインストール:
 libtool-ltdl            x86_64          2.4.6-25.el8            BaseOS              58 k

トランザクションの概要
==========================================================================================
インストール  3 パッケージ

ダウンロードサイズの合計: 580 k
インストール済みのサイズ: 1.8 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
(1/3): libtool-ltdl-2.4.6-25.el8.x86_64.rpm               647 kB/s |  58 kB     00:00    
(2/3): unixODBC-devel-2.3.7-1.el8.x86_64.rpm              370 kB/s |  64 kB     00:00    
(3/3): unixODBC-2.3.7-1.el8.x86_64.rpm                    2.0 MB/s | 458 kB     00:00    
------------------------------------------------------------------------------------------
合計                                                      2.5 MB/s | 580 kB     00:00     
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                                  1/1 
  インストール中   : libtool-ltdl-2.4.6-25.el8.x86_64                                 1/3 
  scriptletの実行中: libtool-ltdl-2.4.6-25.el8.x86_64                                 1/3 
  インストール中   : unixODBC-2.3.7-1.el8.x86_64                                      2/3 
  scriptletの実行中: unixODBC-2.3.7-1.el8.x86_64                                      2/3 
  インストール中   : unixODBC-devel-2.3.7-1.el8.x86_64                                3/3 
  scriptletの実行中: unixODBC-devel-2.3.7-1.el8.x86_64                                3/3 
  検証             : unixODBC-2.3.7-1.el8.x86_64                                      1/3 
  検証             : unixODBC-devel-2.3.7-1.el8.x86_64                                2/3 
  検証             : libtool-ltdl-2.4.6-25.el8.x86_64                                 3/3 

インストール済み:
  unixODBC-2.3.7-1.el8.x86_64                 unixODBC-devel-2.3.7-1.el8.x86_64           
  libtool-ltdl-2.4.6-25.el8.x86_64           

完了しました!
[phptestadmin@PHPTest ~]$ 

インストールされたUnixODBCのバージョンや設定ファイルの情報を確認します。

[phptestadmin@PHPTest ~]$ odbcinst -j
unixODBC 2.3.7
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /home/phptestadmin/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
[phptestadmin@PHPTest ~]$ 

CData Salesforce ODBC Driver for Linuxのインストール

CData社のODBCドライバ一覧のページにアクセスして利用したいデータソースのUnix版(タブ:UnixODBCをダウンロードします。今回は、64bitのCentOSを利用しているので、64bit版のrpmファイルをダウンロードします。

f:id:kuwazzy:20200605141931p:plain

ダウンロードしたcrpmファイルをLinuxマシンにダウンロードします。今回は、AWSのS3に配置してwgetLinuxマシンにダウンロードしました。

[phptestadmin@PHPTest ~]$ wget https://xxxxxxx/SalesforceODBCDriverforUnix.rpm
--2020-06-03 03:59:16--  https:/xxxxxxx/SalesforceODBCDriverforUnix.rpm
xxxxxxx.s3-ap-northeast-1.amazonaws.com (xxxxxxx.s3-ap-northeast-1.amazonaws.com) をDNSに問いあわせています... 52.219.16.23
xxxxxxx.s3-ap-northeast-1.amazonaws.com (xxxxxxx.s3-ap-northeast-1.amazonaws.com)|xxx.xxx.xxx.xxx|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 9928088 (9.5M) [binary/octet-stream]
`SalesforceODBCDriverforUnix.rpm' に保存中

SalesforceODBCDriverfo 100%[==========================>]   9.47M  2.16MB/s 時間 4.4s     

2020-06-03 03:59:21 (2.16 MB/s) - `SalesforceODBCDriverforUnix.rpm' へ保存完了 [9928088/9928088]

[phptestadmin@PHPTest ~]$ ll
合計 9696
-rw-rw-r--. 1 phptestadmin phptestadmin 9928088  63 03:59 SalesforceODBCDriverforUnix.rpm
[phptestadmin@PHPTest ~]$ 

rpmコマンドでインストールします。

[phptestadmin@PHPTest ~]$ sudo rpm -ivh SalesforceODBCDriverforUnix.rpm 
警告: SalesforceODBCDriverforUnix.rpm: ヘッダー V4 RSA/SHA1 Signature、鍵 ID ddd3339e: NOKEY
Verifying...                          ################################# [100%]
準備しています...              ################################# [100%]
更新中 / インストール中...
   1:cdata-odbc-driver-for-salesforce-################################# [100%]
[phptestadmin@PHPTest ~]$ 

評価版でライセンスを認証します。製品版をお持ちの場合は、ライセンスキーをセットしてください。

[phptestadmin@PHPTest ~]$ cd /opt/cdata/cdata-odbc-driver-for-salesforce/bin/
[phptestadmin@PHPTest bin]$ sudo ./install-license.x64
Name: CDataSupport
Email: support@cdata.co.jp
Installing TRIAL license...
Downloading license data...
Verifying license data...
License installation succeeded.
[phptestadmin@PHPTest bin]$ 

ODBCのDSN設定

viなどのエディタでodbc.ini内のDSN設定をセットします。こちらはデータソース 毎に異なりますので設定項目についてはCData社の製品マニュアルをご参照ください。

[phptestadmin@PHPTest bin]$ sudo vi /etc/odbc.ini

[CData Salesforce Sys]
Driver=CData ODBC Driver for Salesforce
Password=xxxxxx
Security Token=xxxx
User=xxxx@cdata.com
Use Sandbox=false
[phptestadmin@PHPTest bin]$ 

Salesforceの場合の設定例 cdn.cdata.com

isqlからの接続テスト

UnixODBC付属ツールisqlから接続出来るか確認します。

[phptestadmin@PHPTest bin]$ isql -v "CData Salesforce Sys"
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> select count(*) from Account;
+-----------+
| count_42  |
+-----------+
| 85        |
+-----------+
SQLRowCount returns -1
1 rows fetched
SQL> quit
[phptestadmin@PHPTest bin]$ 

PHPインストール

本手順ではyumでepelパッケージを追加してPHPをインストールしましたが、任意の方法でPHPをインストールしてください。

epelパッケージの追加

[phptestadmin@PHPTest ~]$ sudo yum install epel-release
メタデータの期限切れの最終確認: 0:16:45 時間前の 20200603035505秒 に実施しました。
依存関係が解決しました。
========================================================================================================
 パッケージ                  アーキテクチャー      バージョン               リポジトリー          サイズ
========================================================================================================
インストール:
 epel-release                noarch                8-8.el8                  extras                 23 k

トランザクションの概要
========================================================================================================
インストール  1 パッケージ

ダウンロードサイズの合計: 23 k
インストール済みのサイズ: 32 k
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
epel-release-8-8.el8.noarch.rpm                                         115 kB/s |  23 kB     00:00    
--------------------------------------------------------------------------------------------------------
合計                                                                     55 kB/s |  23 kB     00:00     
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                                                1/1 
  インストール中   : epel-release-8-8.el8.noarch                                                    1/1 
  scriptletの実行中: epel-release-8-8.el8.noarch                                                    1/1 
  検証             : epel-release-8-8.el8.noarch                                                    1/1 

インストール済み:
  epel-release-8-8.el8.noarch                                                                           

完了しました!
[phptestadmin@PHPTest ~]$ 

[phptestadmin@PHPTest ~]$ sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-8.rpm
http://rpms.famillecollet.com/enterprise/remi-release-8.rpm を取得中
警告: /var/tmp/rpm-tmp.kQec6R: ヘッダー V4 RSA/SHA256 Signature、鍵 ID 5f11735a: NOKEY
Verifying...                          ################################# [100%]
準備しています...              ################################# [100%]
更新中 / インストール中...
   1:remi-release-8.1-2.el8.remi      ################################# [100%]
[phptestadmin@PHPTest ~]$ 

[phptestadmin@PHPTest ~]$ sudo yum config-manager --set-enabled remi
[phptestadmin@PHPTest ~]$ yum -y module install php:remi-7.4
エラー: このコマンドは root ユーザーで実行する必要があります。
[phptestadmin@PHPTest ~]$ sudo yum -y module install php:remi-7.4
CentOS-8 - AppStream                                                     51 kB/s | 3.5 kB     00:00    
CentOS-8 - Base                                                          52 kB/s | 3.1 kB     00:00    
CentOS-8 - Extras                                                       2.9 kB/s | 1.5 kB     00:00    
Extra Packages for Enterprise Linux Modular 8 - x86_64                   46 kB/s |  18 kB     00:00    
Extra Packages for Enterprise Linux 8 - x86_64                          121 kB/s |  15 kB     00:00    
Extra Packages for Enterprise Linux 8 - x86_64                          788 kB/s | 6.8 MB     00:08    
Remi's Modular repository for Enterprise Linux 8 - x86_64               429 kB/s | 569 kB     00:01    
Safe Remi's RPM repository for Enterprise Linux 8 - x86_64              893 kB/s | 1.5 MB     00:01    
Remi's RPM repository for Enterprise Linux 8 - x86_64                   1.8 MB/s | 2.9 MB     00:01    
依存関係が解決しました。
========================================================================================================
 パッケージ            Arch        バージョン                                   リポジトリー      サイズ
========================================================================================================
group/moduleパッケージをインストール:
 php-cli               x86_64      7.4.6-1.el8.remi                             remi-modular      4.6 M
 php-common            x86_64      7.4.6-1.el8.remi                             remi-modular      1.2 M
 php-fpm               x86_64      7.4.6-1.el8.remi                             remi-modular      1.6 M
 php-json              x86_64      7.4.6-1.el8.remi                             remi-modular       74 k
 php-mbstring          x86_64      7.4.6-1.el8.remi                             remi-modular      527 k
 php-xml               x86_64      7.4.6-1.el8.remi                             remi-modular      215 k
依存関係のインストール:
 httpd-filesystem      noarch      2.4.37-16.module_el8.1.0+256+ae790463        AppStream          35 k
 oniguruma             x86_64      6.8.2-1.el8                                  AppStream         188 k
 libxslt               x86_64      1.1.32-3.el8                                 BaseOS            249 k
弱い依存関係のインストール:
 nginx-filesystem      noarch      1:1.14.1-9.module_el8.0.0+184+e34fea82       AppStream          24 k
モジュールプロファイルのインストール:
 php/common                                                                                            
モジュールストリームの有効化:
 httpd                             2.4                                                                 
 nginx                             1.14                                                                
 php                               remi-7.4                                                            

トランザクションの概要
========================================================================================================
インストール  10 パッケージ

ダウンロードサイズの合計: 8.7 M
インストール済みのサイズ: 46 M
パッケージのダウンロード:
(1/10): httpd-filesystem-2.4.37-16.module_el8.1.0+256+ae790463.noarch.r 139 kB/s |  35 kB     00:00    
(2/10): libxslt-1.1.32-3.el8.x86_64.rpm                                  13 MB/s | 249 kB     00:00    
(3/10): oniguruma-6.8.2-1.el8.x86_64.rpm                                665 kB/s | 188 kB     00:00    
(4/10): nginx-filesystem-1.14.1-9.module_el8.0.0+184+e34fea82.noarch.rp  68 kB/s |  24 kB     00:00    
(5/10): php-common-7.4.6-1.el8.remi.x86_64.rpm                          818 kB/s | 1.2 MB     00:01    
(6/10): php-fpm-7.4.6-1.el8.remi.x86_64.rpm                             913 kB/s | 1.6 MB     00:01    
(7/10): php-json-7.4.6-1.el8.remi.x86_64.rpm                            177 kB/s |  74 kB     00:00    
(8/10): php-xml-7.4.6-1.el8.remi.x86_64.rpm                             294 kB/s | 215 kB     00:00    
(9/10): php-cli-7.4.6-1.el8.remi.x86_64.rpm                             1.7 MB/s | 4.6 MB     00:02    
(10/10): php-mbstring-7.4.6-1.el8.remi.x86_64.rpm                       414 kB/s | 527 kB     00:01    
--------------------------------------------------------------------------------------------------------
合計                                                                    2.4 MB/s | 8.7 MB     00:03     
警告: /var/cache/dnf/remi-modular-6408ecca79e22107/packages/php-cli-7.4.6-1.el8.remi.x86_64.rpm: ヘッダー V4 RSA/SHA256 Signature、鍵 ID 5f11735a: NOKEY
Remi's Modular repository for Enterprise Linux 8 - x86_64               3.0 MB/s | 3.1 kB     00:00    
GPG 鍵 0x5F11735A をインポート中:
 Userid     : "Remi's RPM repository <remi@remirepo.net>"
 Fingerprint: 6B38 FEA7 231F 87F5 2B9C A9D8 5550 9759 5F11 735A
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-remi.el8
鍵のインポートに成功しました
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                                                1/1 
  インストール中   : php-json-7.4.6-1.el8.remi.x86_64                                              1/10 
  scriptletの実行中: php-common-7.4.6-1.el8.remi.x86_64                                            2/10 
  インストール中   : php-common-7.4.6-1.el8.remi.x86_64                                            2/10 
  インストール中   : libxslt-1.1.32-3.el8.x86_64                                                   3/10 
  インストール中   : oniguruma-6.8.2-1.el8.x86_64                                                  4/10 
  scriptletの実行中: oniguruma-6.8.2-1.el8.x86_64                                                  4/10 
  scriptletの実行中: nginx-filesystem-1:1.14.1-9.module_el8.0.0+184+e34fea82.noarch                5/10 
  インストール中   : nginx-filesystem-1:1.14.1-9.module_el8.0.0+184+e34fea82.noarch                5/10 
  scriptletの実行中: httpd-filesystem-2.4.37-16.module_el8.1.0+256+ae790463.noarch                 6/10 
  インストール中   : httpd-filesystem-2.4.37-16.module_el8.1.0+256+ae790463.noarch                 6/10 
  インストール中   : php-fpm-7.4.6-1.el8.remi.x86_64                                               7/10 
  scriptletの実行中: php-fpm-7.4.6-1.el8.remi.x86_64                                               7/10 
  インストール中   : php-mbstring-7.4.6-1.el8.remi.x86_64                                          8/10 
  インストール中   : php-xml-7.4.6-1.el8.remi.x86_64                                               9/10 
  インストール中   : php-cli-7.4.6-1.el8.remi.x86_64                                              10/10 
  scriptletの実行中: php-cli-7.4.6-1.el8.remi.x86_64                                              10/10 
  scriptletの実行中: php-fpm-7.4.6-1.el8.remi.x86_64                                              10/10 
  検証             : httpd-filesystem-2.4.37-16.module_el8.1.0+256+ae790463.noarch                 1/10 
  検証             : nginx-filesystem-1:1.14.1-9.module_el8.0.0+184+e34fea82.noarch                2/10 
  検証             : oniguruma-6.8.2-1.el8.x86_64                                                  3/10 
  検証             : libxslt-1.1.32-3.el8.x86_64                                                   4/10 
  検証             : php-cli-7.4.6-1.el8.remi.x86_64                                               5/10 
  検証             : php-common-7.4.6-1.el8.remi.x86_64                                            6/10 
  検証             : php-fpm-7.4.6-1.el8.remi.x86_64                                               7/10 
  検証             : php-json-7.4.6-1.el8.remi.x86_64                                              8/10 
  検証             : php-mbstring-7.4.6-1.el8.remi.x86_64                                          9/10 
  検証             : php-xml-7.4.6-1.el8.remi.x86_64                                              10/10 

インストール済み:
  php-cli-7.4.6-1.el8.remi.x86_64                                                                       
  php-common-7.4.6-1.el8.remi.x86_64                                                                    
  php-fpm-7.4.6-1.el8.remi.x86_64                                                                       
  php-json-7.4.6-1.el8.remi.x86_64                                                                      
  php-mbstring-7.4.6-1.el8.remi.x86_64                                                                  
  php-xml-7.4.6-1.el8.remi.x86_64                                                                       
  nginx-filesystem-1:1.14.1-9.module_el8.0.0+184+e34fea82.noarch                                        
  httpd-filesystem-2.4.37-16.module_el8.1.0+256+ae790463.noarch                                         
  oniguruma-6.8.2-1.el8.x86_64                                                                          
  libxslt-1.1.32-3.el8.x86_64                                                                           

完了しました!
[phptestadmin@PHPTest ~]$ [phptestadmin@PHPTest ~]$

PHPインストール

yumPHPをインストールします。

[phptestadmin@PHPTest ~]$ sudo yum -y install php
メタデータの期限切れの最終確認: 0:07:43 時間前の 20200603042319秒 に実施しました。
依存関係が解決しました。
========================================================================================================
 パッケージ              アーキテクチャー   バージョン                   リポジトリー             サイズ
========================================================================================================
インストール:
 php                     x86_64             7.4.6-1.el8.remi             remi-modular             3.0 M
依存関係のインストール:
 libsodium               x86_64             1.0.18-2.el8                 epel                     162 k
弱い依存関係のインストール:
 php-opcache             x86_64             7.4.6-1.el8.remi             remi-modular             334 k
 php-pdo                 x86_64             7.4.6-1.el8.remi             remi-modular             143 k
 php-sodium              x86_64             7.4.6-1.el8.remi             remi-modular              87 k

トランザクションの概要
========================================================================================================
インストール  5 パッケージ

ダウンロードサイズの合計: 3.7 M
インストール済みのサイズ: 13 M
パッケージのダウンロード:
(1/5): libsodium-1.0.18-2.el8.x86_64.rpm                                848 kB/s | 162 kB     00:00    
(2/5): php-pdo-7.4.6-1.el8.remi.x86_64.rpm                              217 kB/s | 143 kB     00:00    
(3/5): php-opcache-7.4.6-1.el8.remi.x86_64.rpm                          346 kB/s | 334 kB     00:00    
(4/5): php-sodium-7.4.6-1.el8.remi.x86_64.rpm                           177 kB/s |  87 kB     00:00    
(5/5): php-7.4.6-1.el8.remi.x86_64.rpm                                  949 kB/s | 3.0 MB     00:03    
--------------------------------------------------------------------------------------------------------
合計                                                                    1.0 MB/s | 3.7 MB     00:03     
警告: /var/cache/dnf/epel-6519ee669354a484/packages/libsodium-1.0.18-2.el8.x86_64.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID 2f86d6a1: NOKEY
Extra Packages for Enterprise Linux 8 - x86_64                          1.6 MB/s | 1.6 kB     00:00    
GPG 鍵 0x2F86D6A1 をインポート中:
 Userid     : "Fedora EPEL (8) <epel@fedoraproject.org>"
 Fingerprint: 94E2 79EB 8D8F 25B2 1810 ADF1 21EA 45AB 2F86 D6A1
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
鍵のインポートに成功しました
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                                                1/1 
  インストール中   : php-pdo-7.4.6-1.el8.remi.x86_64                                                1/5 
  インストール中   : php-opcache-7.4.6-1.el8.remi.x86_64                                            2/5 
  インストール中   : libsodium-1.0.18-2.el8.x86_64                                                  3/5 
  インストール中   : php-sodium-7.4.6-1.el8.remi.x86_64                                             4/5 
  インストール中   : php-7.4.6-1.el8.remi.x86_64                                                    5/5 
  scriptletの実行中: php-7.4.6-1.el8.remi.x86_64                                                    5/5 
  検証             : libsodium-1.0.18-2.el8.x86_64                                                  1/5 
  検証             : php-7.4.6-1.el8.remi.x86_64                                                    2/5 
  検証             : php-opcache-7.4.6-1.el8.remi.x86_64                                            3/5 
  検証             : php-pdo-7.4.6-1.el8.remi.x86_64                                                4/5 
  検証             : php-sodium-7.4.6-1.el8.remi.x86_64                                             5/5 

インストール済み:
  php-7.4.6-1.el8.remi.x86_64                      php-opcache-7.4.6-1.el8.remi.x86_64                 
  php-pdo-7.4.6-1.el8.remi.x86_64                  php-sodium-7.4.6-1.el8.remi.x86_64                  
  libsodium-1.0.18-2.el8.x86_64                   

完了しました!
[phptestadmin@PHPTest ~]$ 

Apache httpd インストール

yumからhttpdをインストールします。

[phptestadmin@PHPTest ~]$ sudo yum -y install httpd-devel
[sudo] phptestadmin のパスワード:
メタデータの期限切れの最終確認: 0:05:42 時間前の 20200603042319秒 に実施しました。
依存関係が解決しました。
========================================================================================================
 パッケージ                 Arch       バージョン                                   リポジトリー  サイズ
========================================================================================================
インストール:
 httpd-devel                x86_64     2.4.37-16.module_el8.1.0+256+ae790463        AppStream     216 k
依存関係のインストール:
 apr                        x86_64     1.6.3-9.el8                                  AppStream     125 k
 apr-devel                  x86_64     1.6.3-9.el8                                  AppStream     246 k
 apr-util                   x86_64     1.6.1-6.el8                                  AppStream     105 k
 apr-util-devel             x86_64     1.6.1-6.el8                                  AppStream      86 k
 centos-logos-httpd         noarch     80.5-2.el8                                   AppStream      24 k
 httpd                      x86_64     2.4.37-16.module_el8.1.0+256+ae790463        AppStream     1.7 M
 httpd-tools                x86_64     2.4.37-16.module_el8.1.0+256+ae790463        AppStream     103 k
 libdb-devel                x86_64     5.3.28-37.el8                                AppStream      46 k
 mod_http2                  x86_64     1.11.3-3.module_el8.1.0+213+acce2796         AppStream     158 k
 cyrus-sasl                 x86_64     2.1.27-1.el8                                 BaseOS         96 k
 cyrus-sasl-devel           x86_64     2.1.27-1.el8                                 BaseOS        128 k
 expat-devel                x86_64     2.2.5-3.el8                                  BaseOS         55 k
 openldap-devel             x86_64     2.4.46-11.el8_1                              BaseOS        811 k
 perl-Carp                  noarch     1.42-396.el8                                 BaseOS         30 k
 perl-Errno                 x86_64     1.28-416.el8                                 BaseOS         76 k
 perl-Exporter              noarch     5.72-396.el8                                 BaseOS         34 k
 perl-File-Path             noarch     2.15-2.el8                                   BaseOS         38 k
 perl-IO                    x86_64     1.38-416.el8                                 BaseOS        141 k
 perl-PathTools             x86_64     3.74-1.el8                                   BaseOS         90 k
 perl-Scalar-List-Utils     x86_64     3:1.49-2.el8                                 BaseOS         68 k
 perl-Socket                x86_64     4:2.027-3.el8                                BaseOS         59 k
 perl-Text-Tabs+Wrap        noarch     2013.0523-395.el8                            BaseOS         24 k
 perl-Unicode-Normalize     x86_64     1.25-396.el8                                 BaseOS         82 k
 perl-constant              noarch     1.33-396.el8                                 BaseOS         25 k
 perl-interpreter           x86_64     4:5.26.3-416.el8                             BaseOS        6.3 M
 perl-libs                  x86_64     4:5.26.3-416.el8                             BaseOS        1.6 M
 perl-macros                x86_64     4:5.26.3-416.el8                             BaseOS         72 k
 perl-parent                noarch     1:0.237-1.el8                                BaseOS         20 k
 perl-threads               x86_64     1:2.21-2.el8                                 BaseOS         61 k
 perl-threads-shared        x86_64     1.58-2.el8                                   BaseOS         48 k

トランザクションの概要
========================================================================================================
インストール  31 パッケージ

ダウンロードサイズの合計: 13 M
インストール済みのサイズ: 34 M
パッケージのダウンロード:
(1/31): apr-1.6.3-9.el8.x86_64.rpm                                      443 kB/s | 125 kB     00:00    
(2/31): apr-util-1.6.1-6.el8.x86_64.rpm                                 289 kB/s | 105 kB     00:00    
(3/31): apr-devel-1.6.3-9.el8.x86_64.rpm                                637 kB/s | 246 kB     00:00    
(4/31): apr-util-devel-1.6.1-6.el8.x86_64.rpm                           817 kB/s |  86 kB     00:00    
(5/31): httpd-devel-2.4.37-16.module_el8.1.0+256+ae790463.x86_64.rpm    2.3 MB/s | 216 kB     00:00    
(6/31): httpd-tools-2.4.37-16.module_el8.1.0+256+ae790463.x86_64.rpm    9.2 MB/s | 103 kB     00:00    
(7/31): centos-logos-httpd-80.5-2.el8.noarch.rpm                        110 kB/s |  24 kB     00:00    
(8/31): libdb-devel-5.3.28-37.el8.x86_64.rpm                            455 kB/s |  46 kB     00:00    
(9/31): httpd-2.4.37-16.module_el8.1.0+256+ae790463.x86_64.rpm          6.1 MB/s | 1.7 MB     00:00    
(10/31): mod_http2-1.11.3-3.module_el8.1.0+213+acce2796.x86_64.rpm      972 kB/s | 158 kB     00:00    
(11/31): cyrus-sasl-2.1.27-1.el8.x86_64.rpm                             591 kB/s |  96 kB     00:00    
(12/31): cyrus-sasl-devel-2.1.27-1.el8.x86_64.rpm                       1.3 MB/s | 128 kB     00:00    
(13/31): expat-devel-2.2.5-3.el8.x86_64.rpm                             2.2 MB/s |  55 kB     00:00    
(14/31): perl-Carp-1.42-396.el8.noarch.rpm                               59 kB/s |  30 kB     00:00    
(15/31): perl-Exporter-5.72-396.el8.noarch.rpm                          1.1 MB/s |  34 kB     00:00    
(16/31): perl-Errno-1.28-416.el8.x86_64.rpm                             143 kB/s |  76 kB     00:00    
(17/31): perl-File-Path-2.15-2.el8.noarch.rpm                           910 kB/s |  38 kB     00:00    
(18/31): perl-IO-1.38-416.el8.x86_64.rpm                                2.8 MB/s | 141 kB     00:00    
(19/31): perl-PathTools-3.74-1.el8.x86_64.rpm                           8.4 MB/s |  90 kB     00:00    
(20/31): perl-Scalar-List-Utils-1.49-2.el8.x86_64.rpm                   2.5 MB/s |  68 kB     00:00    
(21/31): perl-Socket-2.027-3.el8.x86_64.rpm                             2.2 MB/s |  59 kB     00:00    
(22/31): perl-Text-Tabs+Wrap-2013.0523-395.el8.noarch.rpm               1.5 MB/s |  24 kB     00:00    
(23/31): perl-Unicode-Normalize-1.25-396.el8.x86_64.rpm                 4.1 MB/s |  82 kB     00:00    
(24/31): perl-constant-1.33-396.el8.noarch.rpm                          844 kB/s |  25 kB     00:00    
(25/31): openldap-devel-2.4.46-11.el8_1.x86_64.rpm                      1.2 MB/s | 811 kB     00:00    
(26/31): perl-macros-5.26.3-416.el8.x86_64.rpm                          801 kB/s |  72 kB     00:00    
(27/31): perl-parent-0.237-1.el8.noarch.rpm                             1.9 MB/s |  20 kB     00:00    
(28/31): perl-threads-2.21-2.el8.x86_64.rpm                             7.4 MB/s |  61 kB     00:00    
(29/31): perl-threads-shared-1.58-2.el8.x86_64.rpm                      2.6 MB/s |  48 kB     00:00    
(30/31): perl-libs-5.26.3-416.el8.x86_64.rpm                            8.2 MB/s | 1.6 MB     00:00    
(31/31): perl-interpreter-5.26.3-416.el8.x86_64.rpm                      20 MB/s | 6.3 MB     00:00    
--------------------------------------------------------------------------------------------------------
合計                                                                    7.2 MB/s |  13 MB     00:01     
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                                                1/1 
  インストール中   : perl-Exporter-5.72-396.el8.noarch                                             1/31 
  インストール中   : perl-libs-4:5.26.3-416.el8.x86_64                                             2/31 
  インストール中   : perl-Carp-1.42-396.el8.noarch                                                 3/31 
  インストール中   : apr-1.6.3-9.el8.x86_64                                                        4/31 
  scriptletの実行中: apr-1.6.3-9.el8.x86_64                                                        4/31 
  インストール中   : apr-util-1.6.1-6.el8.x86_64                                                   5/31 
  scriptletの実行中: apr-util-1.6.1-6.el8.x86_64                                                   5/31 
  インストール中   : perl-Scalar-List-Utils-3:1.49-2.el8.x86_64                                    6/31 
  インストール中   : apr-devel-1.6.3-9.el8.x86_64                                                  7/31 
  インストール中   : httpd-tools-2.4.37-16.module_el8.1.0+256+ae790463.x86_64                      8/31 
  インストール中   : perl-macros-4:5.26.3-416.el8.x86_64                                           9/31 
  インストール中   : perl-parent-1:0.237-1.el8.noarch                                             10/31 
  インストール中   : perl-Errno-1.28-416.el8.x86_64                                               11/31 
  インストール中   : perl-Socket-4:2.027-3.el8.x86_64                                             12/31 
  インストール中   : perl-Text-Tabs+Wrap-2013.0523-395.el8.noarch                                 13/31 
  インストール中   : perl-Unicode-Normalize-1.25-396.el8.x86_64                                   14/31 
  インストール中   : perl-File-Path-2.15-2.el8.noarch                                             15/31 
  インストール中   : perl-IO-1.38-416.el8.x86_64                                                  16/31 
  インストール中   : perl-PathTools-3.74-1.el8.x86_64                                             17/31 
  インストール中   : perl-constant-1.33-396.el8.noarch                                            18/31 
  インストール中   : perl-threads-1:2.21-2.el8.x86_64                                             19/31 
  インストール中   : perl-threads-shared-1.58-2.el8.x86_64                                        20/31 
  インストール中   : perl-interpreter-4:5.26.3-416.el8.x86_64                                     21/31 
  インストール中   : expat-devel-2.2.5-3.el8.x86_64                                               22/31 
  scriptletの実行中: cyrus-sasl-2.1.27-1.el8.x86_64                                               23/31 
  インストール中   : cyrus-sasl-2.1.27-1.el8.x86_64                                               23/31 
  scriptletの実行中: cyrus-sasl-2.1.27-1.el8.x86_64                                               23/31 
  インストール中   : cyrus-sasl-devel-2.1.27-1.el8.x86_64                                         24/31 
  インストール中   : openldap-devel-2.4.46-11.el8_1.x86_64                                        25/31 
  インストール中   : libdb-devel-5.3.28-37.el8.x86_64                                             26/31 
  インストール中   : apr-util-devel-1.6.1-6.el8.x86_64                                            27/31 
  インストール中   : centos-logos-httpd-80.5-2.el8.noarch                                         28/31 
  インストール中   : mod_http2-1.11.3-3.module_el8.1.0+213+acce2796.x86_64                        29/31 
  インストール中   : httpd-2.4.37-16.module_el8.1.0+256+ae790463.x86_64                           30/31 
  scriptletの実行中: httpd-2.4.37-16.module_el8.1.0+256+ae790463.x86_64                           30/31 
  インストール中   : httpd-devel-2.4.37-16.module_el8.1.0+256+ae790463.x86_64                     31/31 
  scriptletの実行中: httpd-2.4.37-16.module_el8.1.0+256+ae790463.x86_64                           31/31 
  scriptletの実行中: httpd-devel-2.4.37-16.module_el8.1.0+256+ae790463.x86_64                     31/31 
  検証             : apr-1.6.3-9.el8.x86_64                                                        1/31 
  検証             : apr-devel-1.6.3-9.el8.x86_64                                                  2/31 
  検証             : apr-util-1.6.1-6.el8.x86_64                                                   3/31 
  検証             : apr-util-devel-1.6.1-6.el8.x86_64                                             4/31 
  検証             : centos-logos-httpd-80.5-2.el8.noarch                                          5/31 
  検証             : httpd-2.4.37-16.module_el8.1.0+256+ae790463.x86_64                            6/31 
  検証             : httpd-devel-2.4.37-16.module_el8.1.0+256+ae790463.x86_64                      7/31 
  検証             : httpd-tools-2.4.37-16.module_el8.1.0+256+ae790463.x86_64                      8/31 
  検証             : libdb-devel-5.3.28-37.el8.x86_64                                              9/31 
  検証             : mod_http2-1.11.3-3.module_el8.1.0+213+acce2796.x86_64                        10/31 
  検証             : cyrus-sasl-2.1.27-1.el8.x86_64                                               11/31 
  検証             : cyrus-sasl-devel-2.1.27-1.el8.x86_64                                         12/31 
  検証             : expat-devel-2.2.5-3.el8.x86_64                                               13/31 
  検証             : openldap-devel-2.4.46-11.el8_1.x86_64                                        14/31 
  検証             : perl-Carp-1.42-396.el8.noarch                                                15/31 
  検証             : perl-Errno-1.28-416.el8.x86_64                                               16/31 
  検証             : perl-Exporter-5.72-396.el8.noarch                                            17/31 
  検証             : perl-File-Path-2.15-2.el8.noarch                                             18/31 
  検証             : perl-IO-1.38-416.el8.x86_64                                                  19/31 
  検証             : perl-PathTools-3.74-1.el8.x86_64                                             20/31 
  検証             : perl-Scalar-List-Utils-3:1.49-2.el8.x86_64                                   21/31 
  検証             : perl-Socket-4:2.027-3.el8.x86_64                                             22/31 
  検証             : perl-Text-Tabs+Wrap-2013.0523-395.el8.noarch                                 23/31 
  検証             : perl-Unicode-Normalize-1.25-396.el8.x86_64                                   24/31 
  検証             : perl-constant-1.33-396.el8.noarch                                            25/31 
  検証             : perl-interpreter-4:5.26.3-416.el8.x86_64                                     26/31 
  検証             : perl-libs-4:5.26.3-416.el8.x86_64                                            27/31 
  検証             : perl-macros-4:5.26.3-416.el8.x86_64                                          28/31 
  検証             : perl-parent-1:0.237-1.el8.noarch                                             29/31 
  検証             : perl-threads-1:2.21-2.el8.x86_64                                             30/31 
  検証             : perl-threads-shared-1.58-2.el8.x86_64                                        31/31 

インストール済み:
  httpd-devel-2.4.37-16.module_el8.1.0+256+ae790463.x86_64                                              
  apr-1.6.3-9.el8.x86_64                                                                                
  apr-devel-1.6.3-9.el8.x86_64                                                                          
  apr-util-1.6.1-6.el8.x86_64                                                                           
  apr-util-devel-1.6.1-6.el8.x86_64                                                                     
  centos-logos-httpd-80.5-2.el8.noarch                                                                  
  httpd-2.4.37-16.module_el8.1.0+256+ae790463.x86_64                                                    
  httpd-tools-2.4.37-16.module_el8.1.0+256+ae790463.x86_64                                              
  libdb-devel-5.3.28-37.el8.x86_64                                                                      
  mod_http2-1.11.3-3.module_el8.1.0+213+acce2796.x86_64                                                 
  cyrus-sasl-2.1.27-1.el8.x86_64                                                                        
  cyrus-sasl-devel-2.1.27-1.el8.x86_64                                                                  
  expat-devel-2.2.5-3.el8.x86_64                                                                        
  openldap-devel-2.4.46-11.el8_1.x86_64                                                                 
  perl-Carp-1.42-396.el8.noarch                                                                         
  perl-Errno-1.28-416.el8.x86_64                                                                        
  perl-Exporter-5.72-396.el8.noarch                                                                     
  perl-File-Path-2.15-2.el8.noarch                                                                      
  perl-IO-1.38-416.el8.x86_64                                                                           
  perl-PathTools-3.74-1.el8.x86_64                                                                      
  perl-Scalar-List-Utils-3:1.49-2.el8.x86_64                                                            
  perl-Socket-4:2.027-3.el8.x86_64                                                                      
  perl-Text-Tabs+Wrap-2013.0523-395.el8.noarch                                                          
  perl-Unicode-Normalize-1.25-396.el8.x86_64                                                            
  perl-constant-1.33-396.el8.noarch                                                                     
  perl-interpreter-4:5.26.3-416.el8.x86_64                                                              
  perl-libs-4:5.26.3-416.el8.x86_64                                                                     
  perl-macros-4:5.26.3-416.el8.x86_64                                                                   
  perl-parent-1:0.237-1.el8.noarch                                                                      
  perl-threads-1:2.21-2.el8.x86_64                                                                      
  perl-threads-shared-1.58-2.el8.x86_64                                                                 

完了しました!
[phptestadmin@PHPTest ~]$ 

[phptestadmin@PHPTest ~]$ sudo yum -y install mod_ssl
メタデータの期限切れの最終確認: 0:07:05 時間前の 20200603042319秒 に実施しました。
依存関係が解決しました。
========================================================================================================
 パッケージ      Arch           バージョン                                      リポジトリー      サイズ
========================================================================================================
インストール:
 mod_ssl         x86_64         1:2.4.37-16.module_el8.1.0+256+ae790463         AppStream         131 k
依存関係のインストール:
 sscg            x86_64         2.3.3-6.el8                                     AppStream          43 k

トランザクションの概要
========================================================================================================
インストール  2 パッケージ

ダウンロードサイズの合計: 173 k
インストール済みのサイズ: 391 k
パッケージのダウンロード:
(1/2): mod_ssl-2.4.37-16.module_el8.1.0+256+ae790463.x86_64.rpm         862 kB/s | 131 kB     00:00    
(2/2): sscg-2.3.3-6.el8.x86_64.rpm                                       86 kB/s |  43 kB     00:00    
--------------------------------------------------------------------------------------------------------
合計                                                                    350 kB/s | 173 kB     00:00     
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                                                1/1 
  インストール中   : sscg-2.3.3-6.el8.x86_64                                                        1/2 
  インストール中   : mod_ssl-1:2.4.37-16.module_el8.1.0+256+ae790463.x86_64                         2/2 
  scriptletの実行中: mod_ssl-1:2.4.37-16.module_el8.1.0+256+ae790463.x86_64                         2/2 
  検証             : mod_ssl-1:2.4.37-16.module_el8.1.0+256+ae790463.x86_64                         1/2 
  検証             : sscg-2.3.3-6.el8.x86_64                                                        2/2 

インストール済み:
  mod_ssl-1:2.4.37-16.module_el8.1.0+256+ae790463.x86_64             sscg-2.3.3-6.el8.x86_64            

完了しました!
[phptestadmin@PHPTest ~]$ 

Apacheの起動

httpdサービスを起動します。

[phptestadmin@PHPTest ~]$ sudo systemctl enable httpd.service 
[phptestadmin@PHPTest ~]$ sudo systemctl restart httpd.service

[phptestadmin@PHPTest ~]$ service httpd status
Redirecting to /bin/systemctl status httpd.service
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/httpd.service.d
           └─php-fpm.conf
   Active: active (running) since Wed 2020-06-03 04:33:55 UTC; 4min 47s ago
     Docs: man:httpd.service(8)
 Main PID: 31012 (httpd)
   Status: "Running, listening on: port 443, port 80"
    Tasks: 213 (limit: 10357)
   Memory: 26.1M
   CGroup: /system.slice/httpd.service
           ├─31012 /usr/sbin/httpd -DFOREGROUND
           ├─31014 /usr/sbin/httpd -DFOREGROUND
           ├─31015 /usr/sbin/httpd -DFOREGROUND
           ├─31016 /usr/sbin/httpd -DFOREGROUND
           └─31017 /usr/sbin/httpd -DFOREGROUND
[phptestadmin@PHPTest ~]$ 

PHPVersionの確認

index.phpファイルを以下の通り追加します。

[phptestadmin@PHPTest html]$ sudo vi /var/www/html/index.php
<?php phpinfo();

ブラウザから http://[IPアドレス] にアクセスしてPHPVersionのページが表示されるか確認してください。

f:id:kuwazzy:20200605144345p:plain

アクセスできない場合は、ファイアウォール(ポート)の確認など行ってください。

php-odbcのインストール

PHPのアプリケーションからODBC Driverを利用するには、php-odbcというライブラリが必要となりますのでyumでインストールします。

[phptestadmin@PHPTest html]$ sudo yum install php-odbc
メタデータの期限切れの最終確認: 0:23:11 時間前の 20200603042319秒 に実施しました。
依存関係が解決しました。
========================================================================================================
 パッケージ           アーキテクチャー   バージョン                      リポジトリー             サイズ
========================================================================================================
インストール:
 php-odbc             x86_64             7.4.6-1.el8.remi                remi-modular              98 k

トランザクションの概要
========================================================================================================
インストール  1 パッケージ

ダウンロードサイズの合計: 98 k
インストール済みのサイズ: 231 k
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
php-odbc-7.4.6-1.el8.remi.x86_64.rpm                                    119 kB/s |  98 kB     00:00    
--------------------------------------------------------------------------------------------------------
合計                                                                     90 kB/s |  98 kB     00:01     
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                                                1/1 
  インストール中   : php-odbc-7.4.6-1.el8.remi.x86_64                                               1/1 
  scriptletの実行中: php-odbc-7.4.6-1.el8.remi.x86_64                                               1/1 
  検証             : php-odbc-7.4.6-1.el8.remi.x86_64                                               1/1 

インストール済み:
  php-odbc-7.4.6-1.el8.remi.x86_64                                                                      

完了しました!
[phptestadmin@PHPTest html]$ 

Salesforceからデータを取得するPHPアプリケーションの作成

Salesforceの取引先情報(Account)からデータを取得してHTML化して表示するPHPコードを作成します。

<?php
    $cnx = odbc_connect("CData Salesforce Sys", "", "");
    $stmt = odbc_exec($cnx, "SELECT Name, Type, AccountNumber, BillingCountry, BillingCity, BillingStreet, Phone FROM Account");
    echo 'Counts:'.var_export(odbc_result_all($stmt, "BGCOLOR='#ffffe0' border=3 width=50% "), true);
    odbc_close($cnx);
?>

PHPのサンプルコードはこちらの製品マニュアルをご覧ください。2行目のodbc_connectの第一引数の"CData Salesforce Sys"は、odbc.iniで指定してDSN名とあわせてください。

cdn.cdata.com

上記PHPコードをviなどのエディタでsalesforce.phpなどの名称のPHPファイルとして保存します。

[phptestadmin@PHPTest html]$ pwd
/var/www/html
[phptestadmin@PHPTest html]$ sudo vi salesforce.php

<?php
    $cnx = odbc_connect("CData Salesforce Sys", "", "");
    $stmt = odbc_exec($cnx, "SELECT Name, Type, AccountNumber, BillingCountry, BillingCity, BillingStreet, Phone FROM Account");
    echo 'Counts:'.var_export(odbc_result_all($stmt, "BGCOLOR='#ffffe0' border=3 width=50% "), true);
    odbc_close($cnx);
?>

[phptestadmin@PHPTest html]$

コマンドからPHPを実行

phpコマンドで上記で作成したPHPコードを実行してみます。HTMLと最後にCoutns:件数が表示されれば成功です。

[phptestadmin@PHPTest html]$ php salesforce.php 
<table BGCOLOR='#ffffe0' border=3 width=100%  ><tr><th>Name</th><th>Type</th><th>AccountNumber</th><th>BillingCountry</th><th>BillingCity</th><th>BillingStreet</th><th>Phone</th></tr>
 : (省略)
<tr><td>サンプル企業 02</td><td>Customer - Direct</td><td>10002</td><td>NULL</td><td>NULL</td><td>ミューア ロード 9068</td><td>888888888</td></tr>
</table>
Counts:20[phptestadmin@PHPTest html]$ 

ブラウザからPHPを呼び出し

ブラウザから http://[IPアドレス]/salesforce.php にアクセスします。下記のようにSalesforceの取引先データがHTMLのテーブルとして表示されれば成功です。

f:id:kuwazzy:20200605145614p:plain

注意事項

ApatcheのWebサーバをapacheユーザで実行する場合は、CData ODBC Driverがアクセスする各種リソースの格納パスへのアクセス権限(書き込み権限など)が必要となります。必要に応じてアクセス権を付与してください。

まとめ

いかがでしたでしょうか?上記手順では、Salesforceを例にご紹介しましたが、同様の手順でCDataが提供する200を超えるLinuxODBC Driverが同様にPHPアプリケーションから利用可能です。ODBC Driverは以下のWebページからダウンロードできますので是非お試しください。

f:id:kuwazzy:20200605150318p:plain https://www.cdata.com/jp/odbc/