2024 年 PHP 日本大会

PDO_IBM DSN

(PECL PDO_IBM >= 0.9.0)

PDO_IBM DSN连接到 IBM 数据库

描述

PDO_IBM 数据源名称 (DSN) 基于 IBM CLI DSN。PDO_IBM DSN 的主要组成部分是

DSN 前缀

DSN 前缀为 ibm:

DSN

DSN 可以是以下任何一种:

  • a) 使用 db2cli.iniodbc.ini 设置的数据源

  • b) 编目数据库名称,即 DB2 客户端目录中的数据库别名

  • c) 完整的连接字符串,格式如下:DRIVER={IBM DB2 ODBC DRIVER};DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password;,其中参数代表以下值:

    database

    数据库的名称。

    hostname

    数据库服务器的主机名或 IP 地址。

    port

    数据库监听请求的 TCP/IP 端口。

    username

    用于连接到数据库的用户名。

    password

    用于连接到数据库的密码。

示例

示例 #1 使用 db2cli.ini 的 PDO_IBM DSN 示例

以下示例显示了一个 PDO_IBM DSN,用于连接到在 db2cli.ini 中编目为 DB2_9 的 DB2 数据库。

$db = new PDO("ibm:DSN=DB2_9", "", "");

[DB2_9]
Database=testdb
Protocol=tcpip
Hostname=11.22.33.444
Servicename=56789

示例 #2 使用连接字符串的 PDO_IBM DSN 示例

以下示例显示了一个 PDO_IBM DSN,用于使用 DB2 CLI 连接字符串语法连接到名为 testdb 的 DB2 数据库。

$db = new PDO("ibm:DRIVER={IBM DB2 ODBC DRIVER};DATABASE=testdb;" .
  "HOSTNAME=11.22.33.444;PORT=56789;PROTOCOL=TCPIP;", "testuser", "tespass");

添加注释

用户贡献的注释 2 条注释

0
user274091 at gmail dot com
2 个月前
要在 php 中正确显示和处理来自 Db2 的字符串,您应该设置环境变量 DB2CODEPAGE。对于 UTF-8 数据库,它通常是 1208。

例如,输入
env[DB2CODEPAGE] = 1208
到您的 /etc/php-fpm.d/www.conf 文件中。
0
franck dot thomas at consult-ix dot fr
5 年前
此示例中的连接字符串错误
$db = new PDO("ibm:DRIVER={IBM DB2 ODBC DRIVER};DATABASE=testdb;" .
"HOSTNAME=11.22.33.444;PORT=56789;PROTOCOL=TCPIP;", "testuser", "tespass");

您将收到带有错误代码 -1329 的 PDO 异常。

您必须编写
$db = new PDO(
"ibm:DRIVER={IBM DB2 ODBC DRIVER};DATABASE=testdb;" .
"HOSTNAME=11.22.33.444;PORT=56789;PROTOCOL=TCPIP;UID=testuser;PWD=testpass",
"",
"");
To Top