PHP8 PDO_ODBC
简介
PDO_ODBC 是实现 PHP 数据的驱动程序 对象 (PDO) 接口,用于通过 ODBC 驱动程序或通过 IBM DB2 调用级接口 (DB2 CLI) 库。PDO_ODBC目前支持 数据库驱动程序的三种不同“风格”:
- IBM-DB2
支持访问 IBM DB2 Universal Database、Cloudscape 和 Apache Derby 服务器通过免费的 DB2 express-C 客户机。
- unixODBC
支持通过 unixODBC 驱动程序访问数据库服务器 管理器和数据库自己的 ODBC 驱动程序。
- 通用
为不是 ODBC 驱动程序管理器提供编译选项 PDO_ODBC明确支持。
在 Windows 上,必须启用为 扩展。它是链接的 针对 Windows ODBC 驱动程序管理器,以便 PHP 可以连接到任何 编目为系统 DSN 的数据库。php_pdo_odbc.dllphp.ini
安装
UNIX 系统上的PDO_ODBC- PDO_ODBC包含在 PHP 源代码中。您可以编译 使用以下配置命令将扩展PDO_ODBC为静态或共享模块。ibm_db2./configure --with-pdo-odbc=ibm-db2,/opt/IBM/db2/V8.1/ 要构建具有 ibm-db2 风格的PDO_ODBC,您必须具备 先前将 DB2 应用程序开发头安装在 您正在编译PDO_ODBC的同一台机器。DB2 应用程序 开发头是 DB2 服务器中的可安装选项,并且 也可作为 DB2 Application Development Client 的一部分使用 可从 IBM developerWorks » 网站免费下载。如果未为 DB2 库和头文件提供位置,那么 configure 命令 PDO_ODBC 默认为 。/home/db2inst1/sqllibunixODBC./configure --with-pdo-odbc=unixODBC,/usr/local 如果未提供 unixODBC 库的位置,并且 configure 命令的标头,PDO_ODBC 默认值为 。/usr/local通用./configure --with-pdo-odbc=generic,/usr/local,libname,ldflags,cflags
预定义常量
下列常量由此驱动定义,且仅在扩展编译入 PHP 或在运行时动态载入时可用。 另外,使用此驱动时,仅会使用这些驱动特定的常量。 使用其他驱动的驱动特定的常量可能会导致不可预见的情况。 如果代码可运行于多个驱动,PDO::getAttribute() 可被用于获取 PDO_ATTR_DRIVER_NAME 属性以检查驱动。
PDO_ODBC_TYPE
(字符串)PTO::Odpic_at_Use_Cursor_Library
(整数))此选项控制是否使用 ODBC 游标库。ODBC 游标库 支持一些高级 ODBC 功能(例如块可滚动游标),这些功能可能不会 由驱动程序实现。支持以下值:
PDO::ODBC_SQL_USE_IF_NEEDED
(默认值): 需要时使用 ODBC 游标库。PDO::ODBC_SQL_USE_DRIVER
: 切勿使用 ODBC 游标库。PDO::ODBC_SQL_USE_ODBC
: 始终使用 ODBC 游标库。
PTO::Odipika_Atr_Asyum_UTF8
(池 )仅限 Windows。如果
为 true
,则 UTF-16 编码的字符数据 (, 和 ) 将转换为 从数据库读取数据或将数据写入数据库时为 UTF-8。 如果为 false
(默认值),则驱动程序可以进行字符编码转换。CHAR
VARCHAR
LONGVARCHAR
运行时配置
这些函数的行为受 中的设置影响。 php.ini
名字 | 默认 | 可修改范围 | 更新日志 |
---|---|---|---|
pdo_odbc.connection_pooling | “严格” | INI_ALL | |
pdo_odbc.db2_instance_name | 零 | INI_SYSTEM | 本过时特性将肯定会在未来被移除。 |
有关 INI_* 样式的更多详情与定义,见
配置可被设定范围
。
这是配置指令的简短说明。
pdo_odbc.connection_pooling
字符串是否池化 ODBC 连接。可以是 之一,也可以是 (等于 )。该参数描述连接的严格程度 管理器应在将连接参数与现有池化参数匹配时 连接。
strict
是推荐的默认值,并且 只有当所有连接都连接时,才会导致使用缓存连接 参数完全匹配。放松
将导致 当连接参数相似时,使用缓存连接 使用。这可能会导致缓存的使用增加,从而面临以下风险: (例如)虚拟主机之间的连接信息泄露。"strict"
"relaxed"
"off"
""
此设置只能从文件中更改,并影响整个过程;加载到 使用相同 ODBC 库的进程也会受到影响,包括 统一 ODBC 扩展。php.ini
警告宽松
匹配不应用于共享 出于安全原因,服务器。小技巧将此设置保留为默认
的严格
设置 除非你有充分的理由改变它。pdo_odbc.db2_instance_name
字符串如果使用 flavor 编译PDO_ODBC, 此设置将 DB2INSTANCE 环境变量的值设置为 Linux 和 UNIX 操作系统更改为 DB2 的指定名称 实例。这使PDO_ODBC能够解析 DB2 的位置 库,并与 DB2 数据库建立编目连接。
db2
此设置只能从文件中更改,并影响整个过程;加载到 使用相同 ODBC 库的进程也会受到影响,包括 统一 ODBC 扩展。php.ini
此设置对 Windows 没有影响。
目录
- PDO_ODBC DSN — 连接到 ODBC 或 DB2 数据库