LXIXUnified 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/で参照可能です。

要件

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

インストール手順

詳細な情報とこれらのデータベースに関してPHPの設定については、 データベースインストー ルオプションの章を参照して下さい。

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

実行用の設定

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

表 1Unified ODBC設定オプション

名前デフォルト変更の可否
odbc.default_db *NULLPHP_INI_ALL
odbc.default_user *NULLPHP_INI_ALL
odbc.default_pw *NULLPHP_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)

目次
odbc_autocommit -- autocommitの動作をオンまたはオフにします
odbc_binmode -- バイナリカラムデータを処理する
odbc_close_all -- 全てのODBC接続を閉じます
odbc_close -- ODBC 接続を閉じます
odbc_columnprivileges --  カラムおよび付随する権限のリストを取得する際に使用する結果IDを返 す
odbc_columns --  指定したテーブルにあるカラム名のリストを取得し、その情報を有する 結果IDを返す
odbc_commit -- ODBCトランザクションをコミットします
odbc_connect -- データソースに接続します
odbc_cursor -- カーソル名を得ます
odbc_data_source -- Returns information about a current connection
odbc_do -- odbc_exec()の同義語
odbc_error -- 直近のエラーコードを得る
odbc_errormsg -- 直近のエラーメッセージを得る
odbc_exec -- SQL文を準備し、実行します
odbc_execute -- 準備された文を実行します
odbc_fetch_array -- 連想配列として結果の行を取得する
odbc_fetch_into -- 1行文の結果を配列に取り込みます
odbc_fetch_object -- オブジェクトとして結果の行を取得する
odbc_fetch_row -- 行を取り込みます
odbc_field_len -- フィールドの長さを得る
odbc_field_name -- カラム名を得ます
odbc_field_num -- カラム番号を返します
odbc_field_precision -- odbc_field_len()の同義語
odbc_field_scale -- フィールドの精度を得る
odbc_field_type -- フィールドのデータ型を返します
odbc_foreignkeys --  指定したテーブルの外部キーのリストまたは指定したテーブルの主キー を参照する他のテーブル外部キーのリストを返す
odbc_free_result -- 結果を保持するリソースを開放します
odbc_gettypeinfo --  データソースによりサポートされるデータ型に関する情報を有する結果 IDを返す
odbc_longreadlen -- LONGカラムを処理します
odbc_next_result -- 複数の結果が利用可能などうか確認する
odbc_num_fields -- 結果のカラム数を返します
odbc_num_rows -- 結果における行数を返します
odbc_pconnect -- 持続的なデータベース接続を開きます
odbc_prepare -- 実行用に文を準備します
odbc_primarykeys --  テーブルの主キーを有するカラムの名前を取得する際に使用可能な結果 IDを返す
odbc_procedurecolumns --  プロシージャへのパラメータに関する情報を取得する
odbc_procedures --  指定したデータソースに保存されているプロシージャのリストを取得し、 その情報を有する結果IDを返す
odbc_result_all -- HTML テーブルとして結果を出力します
odbc_result -- 結果データを得ます
odbc_rollback -- トランザクションをロールバックします
odbc_setoption --  ODBCの設定を茣Dます。エラーが発生した場合にFALSE、 その他の場合にTRUEを返します。
odbc_specialcolumns --  テーブルのレコードを特定する最適なカラムの組合せまたはレコードの 値がトランザクションにより更新される際に自動的に更新されるカラム を返す
odbc_statistics -- テーブルに関する統計情報を取得する
odbc_tableprivileges --  各テーブルのリストおよび関連する権限のリストを取得する
odbc_tables --  指定したデータソースに保存されたテーブルの名前のリストを取得し、 その情報を有する結果IDを返す