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

# CI. 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]

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

--with-birdstep[=DIR]

  Birdstep サポートを有効にします。DIR は Birdstep のベースインストールディレクトリで、 `/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_* 定数の詳細および定義については 付録G を参照してください。

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

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 フィールドの処理。変数に返されるバイト数を指定します。

  integerを使用する際、 その値はバイト単位で測られます。 この FAQ に記載された 短縮表記を使用することも可能です。

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)

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