# Oracle OCI8

# 简介

警告

自 PHP 8.4.0 起，此扩展不再捆绑。

这些函数允许访问 Oracle 数据库。支持 SQL 和 PL/SQL 语句。基本功能包括对事务控制、PHP 变量与 Oracle 占位符的绑定以及大对象（LOB）类型和集合的支持。还支持 Oracle 的可伸缩性特性，例如数据库驻留连接池（DRCP）和结果缓存。

- 安装/配置
  - 需求
  - 安装
  - Testing
  - 运行时配置
- 预定义常量
- 示例
- OCI8 Connection Handling and Connection Pooling
- OCI8 Fast Application Notification (FAN) Support
- OCI8 Transparent Application Failover (TAF) Support
- OCI8 and DTrace Dynamic Tracing
- Supported Datatypes
- OCI8 函数
  - oci_bind_array_by_name — Binds a PHP array to an Oracle PL/SQL array parameter
  - oci_bind_by_name — 绑定 PHP 变量到 Oracle 位置标志符
  - oci_cancel — 中断游标读取数据
  - oci_client_version — Returns the Oracle client library version
  - oci_close — 关闭 Oracle 连接
  - oci_commit — 提交未完成的数据库事务
  - oci_connect — 建立一个到 Oracle 服务器的连接
  - oci_define_by_name — 将 PHP 变量与查询读取的列相关联
  - oci_error — 返回最后发现的错误
  - oci_execute — 执行语句
  - oci_fetch — 从查询中读取下一行到内部缓冲区
  - oci_fetch_all — 从查询中读取多行到二维数组中
  - oci_fetch_array — Returns the next row from a query as an associative or numeric array
  - oci_fetch_assoc — Returns the next row from a query as an associative array
  - oci_fetch_object — Returns the next row from a query as an object
  - oci_fetch_row — Returns the next row from a query as a numeric array
  - oci_field_is_null — 检测当前获取的行中，字段是否为 null
  - oci_field_name — 返回 statement 中的字段名
  - oci_field_precision — 返回字段精度
  - oci_field_scale — 返回字段范围
  - oci_field_size — 返回字段大小
  - oci_field_type — 返回字段的数据类型名称
  - oci_field_type_raw — 返回字段的原始 Oracle 数据类型
  - oci_free_descriptor — Frees a descriptor
  - oci_free_statement — 释放关联于语句或游标的所有资源
  - oci_get_implicit_resultset — Returns the next child statement resource from a parent statement resource that has Oracle Database Implicit Result Sets
  - oci_lob_copy — Copies large object
  - oci_lob_is_equal — Compares two LOB/FILE locators for equality
  - oci_new_collection — 分配新的 collection 对象
  - oci_new_connect — 使用唯一连接，连接到 Oracle 服务器
  - oci_new_cursor — 分配并返回新的游标（语句句柄）
  - oci_new_descriptor — 初始化新的空 LOB 或 FILE 描述符
  - oci_num_fields — 返回语句中结果列的数量
  - oci_num_rows — 返回语句执行后受影响的行数
  - oci_parse — 预处理用于执行的 Oracle 语句
  - oci_password_change — 修改 Oracle 用户的密码
  - oci_pconnect — 使用持久连接连，连接到 Oracle 数据库
  - oci_register_taf_callback — Register a user-defined callback function for Oracle Database TAF
  - oci_result — 返回所取得行中字段的值
  - oci_rollback — 回滚未完成的事务
  - oci_server_version — 返回 Oracle 数据库版本
  - oci_set_action — Sets the action name
  - oci_set_call_timeout — Sets a millisecond timeout for database calls
  - oci_set_client_identifier — Sets the client identifier
  - oci_set_client_info — Sets the client information
  - oci_set_db_operation — Sets the database operation
  - oci_set_edition — Sets the database edition
  - oci_set_module_name — Sets the module name
  - oci_set_prefetch — 设置查询预读取的行数
  - oci_set_prefetch_lob — Sets the amount of data prefetched for each CLOB or BLOB.
  - oci_statement_type — 返回语句的类型
  - oci_unregister_taf_callback — Unregister a user-defined callback function for Oracle Database TAF
- OCICollection — The OCICollection class
  - OCICollection::append — Appends element to the collection
  - OCICollection::assign — Assigns a value to the collection from another existing collection
  - OCICollection::assignElem — Assigns a value to the element of the collection
  - OCICollection::free — Frees the resources associated with the collection object
  - OCICollection::getElem — Returns value of the element
  - OCICollection::max — Returns the maximum number of elements in the collection
  - OCICollection::size — Returns size of the collection
  - OCICollection::trim — Trims elements from the end of the collection
- OCILob — The OCILob class
  - OCILob::append — Appends data from the large object to another large object
  - OCILob::close — Closes LOB descriptor
  - OCILob::eof — Tests for end-of-file on a large object's descriptor
  - OCILob::erase — Erases a specified portion of the internal LOB data
  - OCILob::export — Exports LOB's contents to a file
  - OCILob::flush — Flushes/writes buffer of the LOB to the server
  - OCILob::free — Frees resources associated with the LOB descriptor
  - OCILob::getBuffering — Returns current state of buffering for the large object
  - OCILob::import — Imports file data to the LOB
  - OCILob::load — Returns large object's contents
  - OCILob::read — Reads part of the large object
  - OCILob::rewind — Moves the internal pointer to the beginning of the large object
  - OCILob::save — Saves data to the large object
  - OCILob::saveFile — 别名 OCILob::import
  - OCILob::seek — Sets the internal pointer of the large object
  - OCILob::setBuffering — Changes current state of buffering for the large object
  - OCILob::size — Returns size of large object
  - OCILob::tell — Returns the current position of internal pointer of large object
  - OCILob::truncate — Truncates large object
  - OCILob::write — Writes data to the large object
  - OCILob::writeTemporary — Writes a temporary large object
  - OCILob::writeToFile — 别名 OCILob::export
- OCI8 Obsolete Aliases and Functions
  - oci_internal_debug — Enables or disables internal debug output
  - ocibindbyname — 别名 oci_bind_by_name
  - ocicancel — 别名 oci_cancel
  - ocicloselob — 别名 OCILob::close
  - ocicollappend — 别名 OCICollection::append
  - ocicollassign — 别名 OCICollection::assign
  - ocicollassignelem — 别名 OCICollection::assignElem
  - ocicollgetelem — 别名 OCICollection::getElem
  - ocicollmax — 别名 OCICollection::max
  - ocicollsize — 别名 OCICollection::size
  - ocicolltrim — 别名 OCICollection::trim
  - ocicolumnisnull — 别名 oci_field_is_null
  - ocicolumnname — 别名 oci_field_name
  - ocicolumnprecision — 别名 oci_field_precision
  - ocicolumnscale — 别名 oci_field_scale
  - ocicolumnsize — 别名 oci_field_size
  - ocicolumntype — 别名 oci_field_type
  - ocicolumntyperaw — 别名 oci_field_type_raw
  - ocicommit — 别名 oci_commit
  - ocidefinebyname — 别名 oci_define_by_name
  - ocierror — 别名 oci_error
  - ociexecute — 别名 oci_execute
  - ocifetch — 别名 oci_fetch
  - ocifetchinto — Obsolete variant of oci_fetch_array, oci_fetch_object, oci_fetch_assoc and oci_fetch_row
  - ocifetchstatement — 别名 oci_fetch_all
  - ocifreecollection — 别名 OCICollection::free
  - ocifreecursor — 别名 oci_free_statement
  - ocifreedesc — 别名 OCILob::free
  - ocifreestatement — 别名 oci_free_statement
  - ociinternaldebug — 别名 oci_internal_debug
  - ociloadlob — 别名 OCILob::load
  - ocilogoff — 别名 oci_close
  - ocilogon — 别名 oci_connect
  - ocinewcollection — 别名 oci_new_collection
  - ocinewcursor — 别名 oci_new_cursor
  - ocinewdescriptor — 别名 oci_new_descriptor
  - ocinlogon — 别名 oci_new_connect
  - ocinumcols — 别名 oci_num_fields
  - ociparse — 别名 oci_parse
  - ociplogon — 别名 oci_pconnect
  - ociresult — 别名 oci_result
  - ocirollback — 别名 oci_rollback
  - ocirowcount — 别名 oci_num_rows
  - ocisavelob — 别名 OCILob::save
  - ocisavelobfile — 别名 OCILob::import
  - ociserverversion — 别名 oci_server_version
  - ocisetprefetch — 别名 oci_set_prefetch
  - ocistatementtype — 别名 oci_statement_type
  - ociwritelobtofile — 别名 OCILob::export
  - ociwritetemporarylob — 别名 OCILob::writeTemporary

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open