通常使用带有 IBM i ODBC 驱动程序的 PDO_ODBC 连接到 IBM i(在文章上面称为“i5”)Db2 更简单,所有这些驱动程序都可以免费下载,适用于 IBM i 本身、Windows、Linux 或 Mac……请参阅 https://www.ibm.com/support/pages/odbc-driver-ibm-i-access-client-solutions
PDO_IBM 是一个驱动程序,它实现了 PHP 数据对象 (PDO) 接口,以便从 PHP 访问 IBM 数据库。
要构建 PDO_IBM 扩展,必须在与 PHP 相同的系统上安装 DB2 客户端 v9.1 或更高版本。可以从 IBM » 应用程序开发站点 下载 DB2 客户端。
注意:注意
DB2 客户端 v9.1 或更高版本支持直接访问 DB2 for Linux、UNIX 和 Windows v8 和 v9.1 服务器。
DB2 客户端 v9.1 还支持使用单独购买的 » DB2 Connect 产品 访问 DB2 UDB for i5 和 DB2 UDB for z/OS 服务器。
PDO_IBM 是一个 » PECL 扩展,因此请按照 安装 PECL 扩展 中的说明安装 PDO_IBM 扩展。发出 configure 命令以指向 DB2 客户端头文件和库的位置,如下所示:
bash$ ./configure --with-pdo-ibm=/path/to/sqllib[,shared]
这些函数的行为受 php.ini 中的设置影响。
名称 | 默认值 | 可更改 | 变更日志 |
---|---|---|---|
pdo_ibm.i5_dbcs_alloc | "0" | INI_SYSTEM |
在 PDO_IBM 1.5.0 中添加 |
pdo_ibm.i5_override_ccsid | "0" | INI_SYSTEM |
在 PDO_IBM 1.5.0 中添加 |
以下是配置指令的简短说明。
pdo_ibm.i5_dbcs_alloc
int此选项会影响 IBM i 上的内部缓冲区分配策略。默认情况下,此选项为 0。当设置此选项时,如果数据库在编码之间转换时误导了字符大小,则缓冲区将以更大的大小分配。此选项使用六倍的缓冲区内存(以适应最大可能的 UTF-8 序列),但如果返回截断的数据,则可能需要此选项。
0 - 分配最小大小的缓冲区。
1 - 分配更大大小的缓冲区。
pdo_ibm.i5_override_ccsid
int用于从 IBM i 上的 EBCDIC 转换的 ASCII CCSID。将其设置为 1208 将使用 UTF-8。默认情况下,此值为 0,这将选择默认的 ASCII 作业 CCSID。
要了解有关 IBM i 上 CCSID 的更多信息,请查阅 » IBM 文档。
通常使用带有 IBM i ODBC 驱动程序的 PDO_ODBC 连接到 IBM i(在文章上面称为“i5”)Db2 更简单,所有这些驱动程序都可以免费下载,适用于 IBM i 本身、Windows、Linux 或 Mac……请参阅 https://www.ibm.com/support/pages/odbc-driver-ibm-i-access-client-solutions