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

# LXXV. 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