PHP マニュアル
前のページ |  | 次のページ

# LXXIII. Unified ODBC 関数

# 導入

通常のODBCサポートに加えて、PHPのUnified ODBC関数では、各々のAPIを 実装するためにODBC APIのセマンティックスを借用する複数のデータベー スにアクセスすることが可能です。ほとんど同じ複数のデータベースドラ イバを維持管理する代わりに、これらのドライバは単一のODBC関数セットに 統合されています。

以下のデータベースがUnified ODBCでサポートされています。 Adabas D, IBM DB2, iODBC, Solid, Sybase SQL Anywhere

> 注意: 上記のデータベースと接続する際にODBCは使用されません。関数はODBC 関数として同じ名前と構文を共有していますが、これらのデータベース の専用APIを使用します。この例外は、iODBCです。PHPをiODBCサポート を付けて構築した場合、全てのODBC互換のドライバをPHPアプリケーショ ンドライバが使用可能となります。iODBC は、OpenLink Softwareにより管理されてい ます。iODBC に関する詳細およびHOWTOを http://www.iodbc.org/で参照可能です。

# 要件

サポートされるデータベースにアクセスするためには、 所定のライブラリがインストールされている必要があります。

# インストール手順

`--with-adabas[=DIR]`

  Adabas Dサポートを有効にします。DIRはAdabasをインストールしたディレクトリで、 `/usr/local`がデフォルトです。

`--with-sapdb[=DIR]`

  SAP DBサポートを有効にします。DIRはSAP DBのベースインストールディレクトリで、 `/usr/local`がデフォルトです。

`--with-solid[=DIR]`

  Solidサポートを有効にします。DIRはSolidのベースインストールディレクトリで、 `/usr/local/solid`がデフォルトです。

`--with-ibm-db2[=DIR]`

  IBM DB2サポートを有効にします。DIRはIBM DB2のベースインストールディレクトリで、 `/home/db2inst1/sqllib`がデフォルトです。

`--with-empress[=DIR]`

  Empressサポートを有効にします。DIRはEmpressのベースインストールディレクトリで、 $EMPRESSPATHがデフォルトです。PHP 4以降、 このオプションはEmpressバージョン 8.60のみをサポートします。

`--with-empress-bcs[=DIR]`

  Include Empress Local Access support. DIR is the Empress base install directory, defaults to $EMPRESSPATH. From PHP 4, this option only supports Empress Version 8.60 and above.

`--with-birdstep[=DIR]`

  Include Birdstep support. DIR is the Birdstep base install directory, defaults to `/usr/local/birdstep`.

`--with-custom-odbc[=DIR]`

  ユーザ定義のODBCサポートを有効にします。DIRはODBCのベースインストールディレクトリで、 `/usr/local`がデフォルトです。 CUSTOM_ODBC_LIBSが定義され、`odbc.h`がインクルードパスに あることを確認して下さい。 例えば、QNX上のSybase SQL Anywhere 5.5.00では、configureスクリプトを実行する 前に以下を定義する必要があります。 CPPFLAGS="-DODBC_QNX -DSQLANY_BUG" LDFLAGS=-lunix CUSTOM_ODBC_LIBS="-ldblib -lodbc".

`--with-iodbc[=DIR]`

  iODBCサポートを有効にします。DIRはiODBCのベースインストールディレクトリで、 `/usr/local`がデフォルトです。

`--with-esoob[=DIR]`

  Easysoft OOBサポートを有効にします。DIRはOOBのベースインストールディレクトリで、 `/usr/local/easysoft/oob/client`がデフォルトです。

`--with-unixODBC[=DIR]`

  unixODBCサポートを有効にします。DIRはunixODBCのベースインストールディレクトリで、 `/usr/local`がデフォルトです。

`--with-openlink[=DIR]`

  OpenLink ODBCサポートを有効にします。DIRはOpenLinkのベースインストールディレクトリで、 `/usr/local`がデフォルトです。 これは、iODBCと同じものです。

`--with-dbmaker[=DIR]`

  DBMakerサポートを有効にします。DIRはDBMakerのベースインストールディレクトリで、 デフォルトは最新版のDBMakerがインストールされている場所 (例えば`/home/dbmaker/3.6`)です。

PHP 3 で unified ODBC サポートを無効にするには、 `--disable-unified-odbc` をconfigure実行時に 指定します。このオプションは、iODBC, Adabas, Solid, Velocis custom ODBCインターフェイスを 有効にしている場合のみ適用可能です。

Windows版の`PHP`には この拡張モジュールのサポートが組み込まれています。これらの関数を使用 するために拡張モジュールを追加でロードする必要はありません。

# 実行用の設定

これらの関数の動作は、`php.ini`の設定により変化します。

表 1. Unified ODBC設定オプション

名前 | デフォルト | 変更の可否
--- | --- | ---
odbc.default_db * | NULL | PHP_INI_ALL
odbc.default_user * | NULL | PHP_INI_ALL
odbc.default_pw * | NULL | PHP_INI_ALL
odbc.allow_persistent | "1" | PHP_INI_SYSTEM
odbc.check_persistent | "1" | PHP_INI_SYSTEM
odbc.max_persistent | "-1" | PHP_INI_SYSTEM
odbc.max_links | "-1" | PHP_INI_SYSTEM
odbc.defaultlrl | "4096" | PHP_INI_ALL
odbc.defaultbinmode | "1" | PHP_INI_ALL

> 注意: *マークがついているエントリは未実装です。

PHP_INI_*定数の詳細と定義については、 ini_set()を参照して下さい。

以下に設定ディレクティブに関する簡単な説明を示します。

`odbc.default_db` string

  odbc_connect()または odbc_pconnect()でODBCデータソーソが指定されな い場合に使用されるODBCデータソース。

`odbc.default_user` string

  odbc_connect()または odbc_pconnect()で名前が指定されない場合 に使用される名前。

`odbc.default_pw` string

  odbc_connect()または odbc_pconnect()でパスワードが指定されない場合 に使用されるパスワード。

`odbc.allow_persistent` boolean

  持続的ODBC接続を許可するかどうか。

`odbc.check_persistent` boolean

  再利用する前に接続が有効であることを確認します。

`odbc.max_persistent` integer

  プロセス毎の持続的ODBC接続の最大数。

`odbc.max_links` integer

  プロセス毎の持続的接続を含むODBC接続の最大数。

`odbc.defaultlrl` integer

  LONGフィールドの処理。変数に返されるバイト数を指定します。

`odbc.defaultbinmode` integer

  バイナリデータの処理モード。

# リソース型

この拡張モジュールはリソース型を全く定義し ません。

# 定義済みの定数

これらの定数は、この拡張モジュールで定義されており、 この拡張モジュールがPHP内部にコンパイルされているか実行時に動的にロー ドされるかのどちらかの場合のみ使用可能です。

`ODBC_TYPE` (integer)

`ODBC_BINMODE_PASSTHRU` (integer)

`ODBC_BINMODE_RETURN` (integer)

`ODBC_BINMODE_CONVERT` (integer)

`SQL_ODBC_CURSORS` (integer)

`SQL_CUR_USE_DRIVER` (integer)

`SQL_CUR_USE_IF_NEEDED` (integer)

`SQL_CUR_USE_ODBC` (integer)

`SQL_CONCURRENCY` (integer)

`SQL_CONCUR_READ_ONLY` (integer)

`SQL_CONCUR_LOCK` (integer)

`SQL_CONCUR_ROWVER` (integer)

`SQL_CONCUR_VALUES` (integer)

`SQL_CURSOR_TYPE` (integer)

`SQL_CURSOR_FORWARD_ONLY` (integer)

`SQL_CURSOR_KEYSET_DRIVEN` (integer)

`SQL_CURSOR_DYNAMIC` (integer)

`SQL_CURSOR_STATIC` (integer)

`SQL_KEYSET_SIZE` (integer)

`SQL_CHAR` (integer)

`SQL_VARCHAR` (integer)

`SQL_LONGVARCHAR` (integer)

`SQL_DECIMAL` (integer)

`SQL_NUMERIC` (integer)

`SQL_BIT` (integer)

`SQL_TINYINT` (integer)

`SQL_SMALLINT` (integer)

`SQL_INTEGER` (integer)

`SQL_BIGINT` (integer)

`SQL_REAL` (integer)

`SQL_FLOAT` (integer)

`SQL_DOUBLE` (integer)

`SQL_BINARY` (integer)

`SQL_VARBINARY` (integer)

`SQL_LONGVARBINARY` (integer)

`SQL_DATE` (integer)

`SQL_TIME` (integer)

`SQL_TIMESTAMP` (integer)

`SQL_TYPE_DATE` (integer)

`SQL_TYPE_TIME` (integer)

`SQL_TYPE_TIMESTAMP` (integer)

`SQL_BEST_ROWID` (integer)

`SQL_ROWVER` (integer)

`SQL_SCOPE_CURROW` (integer)

`SQL_SCOPE_TRANSACTION` (integer)

`SQL_SCOPE_SESSION` (integer)

`SQL_NO_NULLS` (integer)

`SQL_NULLABLE` (integer)

`SQL_INDEX_UNIQUE` (integer)

`SQL_INDEX_ALL` (integer)

`SQL_ENSURE` (integer)

`SQL_QUICK` (integer)

前のページ | ホーム | 次のページ
nsapi_virtual | 上に戻る | odbc_autocommit