PHP8 PDO_ODBC

2024-03-26 09:50 更新

简介 

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
  1. 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(默认值),则驱动程序可以进行字符编码转换。CHARVARCHARLONGVARCHAR

运行时配置 

这些函数的行为受 中的设置影响。 php.ini

PDO_ODBC配置选项
名字默认可修改范围更新日志
pdo_odbc.connection_pooling“严格”INI_ALL 
pdo_odbc.db2_instance_nameINI_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 数据库


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号