CVIII. ODBC Functions (Unified)
简介
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.
注意: With the exception of iODBC, 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. However, building PHP with iODBC support enables you to use any ODBC-compliant drivers with your PHP applications. More information on iODBC, is available at » www.iodbc.org with the alternative unixODBC available at » www.unixodbc.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.
PHP 的 Windows 版本已经内置该扩展模块的支持。无需加载任何附加扩展库即可使用这些函数。
运行时配置
这些函数的行为受 php.ini 的影响。
表211.Unified ODBC Configuration Options
| Name | Default | Changeable | Changelog |
|---|---|---|---|
| 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_* 常量进一步的细节与定义参见附录H, php.ini 配置选项。注意: Entries marked with * are not implemented yet.
以下是配置选项的简要解释。
- 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.
资源类型
This extension defines two resource types: an ODBC connection identifier and an ODBC result identifier.
预定义常量
以下常量由本扩展模块定义,因此只有在本扩展模块被编译到 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 Toggle autocommit behaviour
- odbc_binmode Handling of binary column data
- odbc_close_all Close all ODBC connections
- odbc_close Close an ODBC connection
- odbc_columnprivileges Returns a result identifier that can be used to fetch a list of columns and associated privileges
- odbc_columns Lists the column names in specified tables
- odbc_commit Commit an ODBC transaction
- odbc_connect Connect to a datasource
- odbc_cursor Get cursorname
- odbc_data_source Returns information about a current connection
- odbc_do Synonym for odbc_exec()
- odbc_error Get the last error code
- odbc_errormsg Get the last error message
- odbc_exec Prepare and execute a SQL statement
- odbc_execute Execute a prepared statement
- odbc_fetch_array Fetch a result row as an associative array
- odbc_fetch_into Fetch one result row into array
- odbc_fetch_object Fetch a result row as an object
- odbc_fetch_row Fetch a row
- odbc_field_len Get the length (precision) of a field
- odbc_field_name Get the columnname
- odbc_field_num Return column number
- odbc_field_precision Synonym for odbc_field_len()
- odbc_field_scale Get the scale of a field
- odbc_field_type Datatype of a field
- odbc_foreignkeys Returns a list of foreign keys in the specified table or a list of foreign keys in other tables that refer to the primary key in the specified table
- odbc_free_result Free resources associated with a result
- odbc_gettypeinfo Returns a result identifier containing information about data types supported by the data source
- odbc_longreadlen Handling of LONG columns
- odbc_next_result Checks if multiple results are available
- odbc_num_fields Number of columns in a result
- odbc_num_rows Number of rows in a result
- odbc_pconnect Open a persistent database connection
- odbc_prepare Prepares a statement for execution
- odbc_primarykeys Returns a result identifier that can be used to fetch the column names that comprise the primary key for a table
- odbc_procedurecolumns Retrieve information about parameters to procedures
- odbc_procedures Get the list of procedures stored in a specific data source
- odbc_result_all Print result as HTML table
- odbc_result Get result data
- odbc_rollback Rollback a transaction
- odbc_setoption Adjust ODBC settings
- odbc_specialcolumns Returns either the optimal set of columns that uniquely identifies a row in the table or columns that are automatically updated when any value in the row is updated by a transaction
- odbc_statistics Retrieve statistics about a table
- odbc_tableprivileges Lists tables and the privileges associated with each table
- odbc_tables Get the list of table names stored in a specific data source
add a note
User Contributed NotesODBC Functions (Unified)

ociwritetemporarylob