PHP 手冊
上一頁 |  | 下一頁

# LXXVI.Unified ODBC Functions

# 介紹

In addition to normal ODBC support, the Unified ODBC functions in PHP allow you to access several databases that have borrowed the semantics of the ODBC API to implement their own API. Instead of maintaining multiple database drivers that were all nearly identical, these drivers have been unified into a single set of ODBC functions.

The following databases are supported by the Unified ODBC functions: Adabas D, IBM DB2, iODBC, Solid, and Sybase SQL Anywhere.

> 備注: There is no ODBC involved when connecting to the above databases. The functions that you use to speak natively to them just happen to share the same names and syntax as the ODBC functions. The exception to this is iODBC. Building PHP with iODBC support enables you to use any ODBC-compliant drivers with your PHP applications. iODBC is maintained by OpenLink Software. More information on iODBC, as well as a HOWTO, is available at www.iodbc.org.

# 需求

To access any of the supported databases you need to have the required libraries installed.

# 安裝

--with-adabas[=DIR]

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

--with-sapdb[=DIR]

  Include SAP DB support. DIR is SAP DB base install directory, defaults to `/usr/local`.

--with-solid[=DIR]

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

--with-ibm-db2[=DIR]

  Include IBM DB2 support. DIR is the DB2 base install directory, defaults to `/home/db2inst1/sqllib`.

--with-empress[=DIR]

  Include Empress 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-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]

  Include a user defined ODBC support. The DIR is ODBC install base directory, which defaults to `/usr/local`. Make sure to define CUSTOM_ODBC_LIBS and have some `odbc.h` in your include dirs. E.g., you should define following for Sybase SQL Anywhere 5.5.00 on QNX, prior to run configure script: CPPFLAGS="-DODBC_QNX -DSQLANY_BUG" LDFLAGS=-lunix CUSTOM_ODBC_LIBS="-ldblib -lodbc".

--with-iodbc[=DIR]

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

--with-esoob[=DIR]

  Include Easysoft OOB support. DIR is the OOB base install directory, defaults to `/usr/local/easysoft/oob/client`.

--with-unixODBC[=DIR]

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

--with-openlink[=DIR]

  Include OpenLink ODBC support. DIR is the OpenLink base install directory, defaults to `/usr/local`. This is the same as iODBC.

--with-dbmaker[=DIR]

  Include DBMaker support. DIR is the DBMaker base install directory, defaults to where the latest version of DBMaker is installed (such as `/home/dbmaker/3.6`).

To disable unified ODBC support in PHP 3 add --disable-unified-odbc to your configure line. Only applicable if iODBC, Adabas, Solid, Velocis or a custom ODBC interface is enabled.

Windows 版本的 PHP 已內建此延伸的支援﹐所以你毋須再載入附加的延伸來使用這些功能。

# 執行時期組態

`php.ini`中的設定會影響這些函數的行為。

表格 1.Unified ODBC Configuration Options

Name | Default | Changeable
--- | --- | ---
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

> 備注: Entries marked with * are not implemented yet.

For further details and definition of the PHP_INI_* constants see ini_set().

這裡為簡短的結構指令說明。

odbc.default_db string

  ODBC data source to use if none is specified in odbc_connect() or odbc_pconnect().

odbc.default_user string

  User name to use if none is specified in odbc_connect() or odbc_pconnect().

odbc.default_pw string

  Password to use if none is specified in odbc_connect() or odbc_pconnect().

odbc.allow_persistent boolean

  Whether to allow persistent ODBC connections.

odbc.check_persistent boolean

  Check that a connection is still valid before reuse.

odbc.max_persistent integer

  The maximum number of persistent ODBC connections per process.

odbc.max_links integer

  The maximum number of ODBC connections per process, including persistent connections.

odbc.defaultlrl integer

  Handling of LONG fields. Specifies the number of bytes returned to variables.

odbc.defaultbinmode integer

  Handling of binary data.

# 資源類型

這個延伸沒有定義任何資源。

# 預先定義常數

以下的常數由此延伸定義，只在這個延伸被編譯成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