PHP 8.4.1 Released!

PDO_IBM DSN

(PECL PDO_IBM >= 0.9.0)

PDO_IBM DSNIBM veritabanı bağlantısı

Açıklama

PDO_IBM Veri Kaynağı Adı (DSN), IBM CLI DSN'sine dayanır. PDO_IBM Veri Kaynağı Adı (DSN) şu öğelerden oluşur:

DSN öneki

DSN öneki ibm: dizgesidir.

DSN

Şunlardan biri olabilir:

  • Veri kaynağı db2cli.ini veya odbc.ini kullanılarak ayarlanır.

  • Kataloglu veritabanı adı; yani veritabanının DB2 istemci kataloğundaki takma adı.

  • Eksiksiz bağlantı dizgesi; sözdizimi şöyledir: DRIVER={IBM DB2 ODBC DRIVER}; DATABASE=veritabanı; HOSTNAME=konakadı; PORT=port;PROTOCOL=TCPIP; UID=kullanıcı; PWD=parola;

    veritabanı

    Veritabanının adı.

    konakadı

    Veritabanı sunucusunun IP adresi veya konak adı.

    port

    Veritabanı sunucusunun dinlediği port.

    kullanıcı

    Veritabanına bağlantı için kullanıcı adı.

    password

    Veritabanına bağlantı için parola.

Örnekler

Örnek 1 - db2cli.ini kullanarak PDO_IBM DSN örneği

Aşağıdaki örnekte, db2cli.ini dosyasında DB2_9 adıyla kataloglanmış bir DB2 veritabanına bağlanmak için kullanılan bir PDO_IBM DSN'si gösterilmiştir:

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

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

Örnek 2 - Bağlantı dizgeli PDO_IBM DSN'si örneği

Aşağıdaki örnekte, testdb adında bir DB2 veritabanına bağlanmak için bir DB2 CLI bağlantı dizgesini kullanan bir PDO_IBM DSN'si gösterilmiştir:

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

add a note

User Contributed Notes 2 notes

up
0
user274091 at gmail dot com
2 months ago
To correctly display and otherwise handle strings from Db2 in php you should set an environmental variable DB2CODEPAGE. For UTF-8 database it is usually 1208.

For example, put
env[DB2CODEPAGE] = 1208
in your /etc/php-fpm.d/www.conf file.
up
0
franck dot thomas at consult-ix dot fr
5 years ago
The connection string is wrong for the example :
$db = new PDO("ibm:DRIVER={IBM DB2 ODBC DRIVER};DATABASE=testdb;" .
"HOSTNAME=11.22.33.444;PORT=56789;PROTOCOL=TCPIP;", "testuser", "tespass");

You get the PDO Exception with the error code -1329.

You have to write :
$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