製品をチェック

無償トライアル:

無償トライアルへ

製品の情報と無償トライアルへ:

ADP ODBC Driver

ADP ODBC Driver は、ODBC 接続をサポートするあらゆるツールからのシームレスなADP データ連携を実現します。

使い慣れたODBC インターフェースで、自由自在にADP データの読み、書き、更新を実行できます。

データ連携でお困りですか?

お問い合わせ

PHP のネイティブ機能を使ってADP にデータ連携


CData ODBC Driver for ADP を使って、Linux/Unix マシン上でADP データに連携可能なPHP アプリケーションを作成。PHP でのODBC ネイティブサポートを活用します。


CData ODBC Driver for ADP をLAMP またはWAMP スタックにドロップし、ADP に接続されたWeb アプリケーションを構築します。本記事では、PHP のビルトインODBC 機能でADP データに接続し、クエリを実行して、結果を出力する手順を説明します。

UNIX/Linux マシンでCData ODBC Drivers を使用する

CData ODBC Drivers は、Ubuntu、Debian、RHEL、CentOS、Fedora など、Red Hat およびDebian ベースのさまざまなシステムでサポートされています。また、いくつかライブラリやパッケージが要求されることがありますが、それらの多くはシステムにデフォルトでインストールされています。サポートされているLinux オペレーティングシステムのバージョンと必要なライブラリの詳細については、インストール済みのもの、またはWeb 上にあるヘルプドキュメントの「はじめに」の章を参照してください。

ドライバーマネージャーをインストールする

ドライバーをインストールする前に、システムにドライバーマネージャーがあることを確認してください。この記事では、広くサポートされている無料のオープンソースODBC ドライバーマネージャーであるunixODBC を使用します。

Ubuntu のようなDebian ベースのシステムでは、APT パッケージマネージャーを使用してunixODBC をインストールできます。

$ sudo apt-get install unixODBC unixODBC-dev

Red Hat Linux ベースのシステムの場合は、yum またはdnf を使用してunixODBC をインストールできます。

$ sudo yum install unixODBC unixODBC-devel

unixODBC ドライバーマネージャーは、ドライバーの情報をodbcinst.ini ファイルから、データソースの情報をodbc.ini ファイルから読み取ります。 次のコマンドをターミナルに入力することで、システムの設定ファイルの場所を指定できます。

$ odbcinst -j

コマンドの出力は、登録されたODBC ドライバーおよびODBC データソースの設定ファイルの場所を表示します。 ユーザーデータソースにアクセスできるのは、odbc.ini ファイルがホームフォルダに格納されているユーザーアカウントだけです。システムデータソースには、すべてのユーザーがアクセスできます。 以下に、このコマンドの出力例を示します。

DRIVERS............: /etc/odbcinst.ini SYSTEM DATA SOURCES: /etc/odbc.ini FILE DATA SOURCES..: /etc/ODBCDataSources USER DATA SOURCES..: /home/myuser/.odbc.ini SQLULEN Size.......:8 SQLLEN Size........:8 SQLSETPOSIROW Size.:8

ドライバーをインストールする

標準パッケージ形式(Debian .deb パッケージ形式または.rpm ファイル形式)でドライバーをダウンロードすることができます。ファイルをダウンロードしたら、ターミナルからドライバーをインストールできます。

ドライバーインストーラーはドライバーをunixODBC に登録し、システムDSN を作成します。これは、後にODBC 接続をサポートするツールやアプリケーションで使用できます。

Ubuntu のようなDebian ベースのシステムでは、sudo またはroot で以下のコマンドを実行します。 $ dpkg -i /path/to/package.deb

Red Hat システムまたは.rpms をサポートするその他のシステムの場合は、sudo またはroot で以下のコマンドを実行します。 $ rpm -i /path/to/package.rpm

ドライバーがインストールされたら、unixODBC ドライバーマネージャーを使用し、登録されたドライバーと定義されたデータソースを一覧表示できます。

登録されているドライバーを一覧表示する

$ odbcinst -q -d CData ODBC Driver for ADP ...

定義されたデータソースを一覧表示する

$ odbcinst -q -s CData ADP Source ...

CData ODBC Driver for ADP をunixODBC で使用するには、ドライバーがUTF-16 を使用するように設定されていることを確認します。そのために、インストール場所(通常はcdata.odbc.adp.ini)のlib フォルダにある、ドライバー(cdata.odbc.adp.ini)のINI ファイルを以下のように編集します。

cdata.odbc.adp.ini

... [Driver] DriverManagerEncoding = UTF-16

DSN を変更する

ドライバーのインストールにより、システムDSN が事前定義されます。DSN を変更するには、システムデータソースファイル(/etc/odbc.ini)を編集し、必要な接続プロパティを定義します。さらに、$HOME/.odbc.ini での変更にルートアクセスを必要としない、ユーザー固有のDSN を作成することができます。

Connect to ADP by specifying the following properties:

  • SSLClientCert: Set this to the certificate provided during registration.
  • SSLClientCertPassword: Set this to the password of the certificate.
  • UseUAT: The connector makes requests to the production environment by default. If using a developer account, set UseUAT = true.
  • RowScanDepth: The maximum number of rows to scan for the custom fields columns available in the table. The default value will be set to 100. Setting a high value may decrease performance.

The connector uses OAuth to authenticate with ADP. OAuth requires the authenticating user to interact with ADP using the browser. For more information, refer to the OAuth section in the Help documentation.

/etc/odbc.ini または$HOME/.odbc.ini

[CData ADP Source] Driver = CData ODBC Driver for ADP Description = My Description OAuthClientId = YourClientId OAuthClientSecret = YourClientSecret SSLClientCert = 'c:\cert.pfx' SSLClientCertPassword = 'admin@123'

これらの構成ファイルの使用方法については、オンラインのヘルプドキュメントを参照してください。

接続を確立する

odbc_connect またはodbc_pconnect を呼び出して、ADP への接続を開きます。 接続を閉じるには、odbc_close もしくはodbc_close_all を使います。

$conn = odbc_connect("CData ODBC ADP Source","user","password");

接続はodbc_connect で開かれ、スクリプトが終わると終了します。odbc_pconnect メソッドで開いた接続は、スクリプトが終わっても開いたままです。これにより同じクレデンシャルであれば他のスクリプトで接続を共有することが可能です。スクリプト間で接続を共有することにより、システムリソースを節約し、クエリの実行を高速化できます。

$conn = odbc_pconnect("CData ODBC ADP Source","user","password"); ... odbc_close($conn); //persistent connection must be closed explicitly

プリペアドステートメントを作成する

odbc_prepare を使って、プリペアドステートメントおよびパラメータライズドクエリを作成します。

$query = odbc_prepare($conn, "SELECT * FROM Workers WHERE AssociateOID = ?");

クエリを実行する

Prepared ステートメントをodbc_execute を使って実行します。

$conn = odbc_connect("CData ODBC ADP Source","user","password"); $query = odbc_prepare($conn, "SELECT * FROM Workers WHERE AssociateOID = ?"); $success = odbc_execute($query, array('G3349PZGBADQY8H8'));

Non-Parameterized クエリは、odbc_exec を使います。

$conn = odbc_connect("CData ODBC ADP Source","user","password"); $query = odbc_exec($conn, "SELECT AssociateOID, WorkerID FROM Workers WHERE AssociateOID = 'G3349PZGBADQY8H8'");

結果の処理

odbc_fetch_array 関数の結果セット配列としてアクセスします。

$conn = odbc_connect("CData ODBC ADP data Source","user","password"); $query = odbc_exec($conn, "SELECT AssociateOID, WorkerID FROM Workers WHERE AssociateOID = 'G3349PZGBADQY8H8'"); while($row = odbc_fetch_array($query)){ echo $row["AssociateOID"] . "\n"; }

odbc_result_all 関数で、結果セットをHTML テーブルとして表示します。

$conn = odbc_connect("CData ODBC ADP data Source","user","password"); $query = odbc_prepare($conn, "SELECT * FROM Workers WHERE AssociateOID = ?"); $success = odbc_execute($query, array('G3349PZGBADQY8H8')); if($success) odbc_result_all($query);

他のサンプルクエリ

ドライバーがサポートしているSQL の詳細は、ヘルプドキュメントを参照してください。上のサンプルは、PHP community documentation for all ODBC functions をADP 向けに変更したものです。