PHP Conference Japan 2024

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 位址。

    連接埠

    資料庫監聽請求的 TCP/IP 連接埠。

    使用者名稱

    您用來連線到資料庫的使用者名稱。

    密碼

    您用來連線到資料庫的密碼。

範例

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

以下範例顯示用於連線到在 db2cli.ini 中編錄為 DB2_9 的 DB2 資料庫的 PDO_IBM DSN。

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

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

範例 #2 使用連線字串的 PDO_IBM DSN 範例

以下範例顯示使用 DB2 CLI 連線字串語法連線到名為 testdb 的 DB2 資料庫的 PDO_IBM DSN。

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

新增註釋

使用者貢獻的註釋 2 則註釋

user274091 at gmail dot com
2 個月前
要在 PHP 中正確顯示和處理來自 DB2 的字串,您應該設定環境變數 DB2CODEPAGE。對於 UTF-8 資料庫,它通常是 1208。

例如,在您的 /etc/php-fpm.d/www.conf 檔案中加入
env[DB2CODEPAGE] = 1208
這一行。
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