PHP 8.5.0 Alpha 2 available for testing

PDO_IBM DSN

(PECL PDO_IBM >= 0.9.0)

PDO_IBM DSNConexión a las bases de datos IBM

Descripción

El nombre de la fuente de datos PDO_IBM (DSN) se basa en el IBM CLI DSN. Los componentes principales de PDO_IBM DSN son :

Prefijo DSN

El prefijo DSN es ibm:.

DSN

El DSN puede ser uno de los siguientes :

  • a) Configuración de la fuente de datos utilizando el archivo db2cli.ini o odbc.ini

  • b) Nombre de base de datos catalogado, es decir, alias de base de datos contenidos en el catálogo del cliente DB2

  • c) Cadena de conexión completa en el siguiente formato : DRIVER={IBM DB2 ODBC DRIVER};DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password; donde los parámetros representan los siguientes valores :

    database

    El nombre de la base de datos.

    hostname

    El nombre del host o la dirección IP del servidor de base de datos.

    port

    El puerto TCP/IP en el que la base de datos escucha las consultas.

    username

    El nombre de usuario utilizado para la conexión a la base de datos.

    password

    La contraseña utilizada para la conexión a la base de datos.

Ejemplos

Ejemplo #1 Ejemplo con PDO_IBM DSN utilizando db2cli.ini

El siguiente ejemplo muestra el uso de PDO_IBM DSN para la conexión a una base de datos DB2 catalogada como DB2_9 en el archivo db2cli.ini :

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

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

Ejemplo #2 Ejemplo con PDO_IBM DSN utilizando una cadena completa de conexión

El siguiente ejemplo muestra el uso de PDO_IBM DSN para la conexión a una base de datos DB2 llamada testdb utilizando la cadena completa de conexión DB2 CLI :

$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
10 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