PHP 8.4.0 RC4 available for testing

PDO_IBM DSN

(PECL PDO_IBM >= 0.9.0)

PDO_IBM DSNConectando-se a bancos de dados IBM

Descrição

O Nome da Fonte de Dados (DSN) PDO_IBM é baseado no DSN IBM CLI. Os principais componentes do DSN PDO_IBM são:

DSN prefix

O prefixo DSN é ibm:.

DSN

O DSN pode ser qualquer um dos seguintes:

  • a) Configuração da fonte de dados usando db2cli.ini ou odbc.ini

  • b) Nome do banco de dados catalogado, ou seja, apelido do banco de dados no catálogo do cliente DB2

  • c) String de conexão completa no seguinte formato: DRIVER={IBM DB2 ODBC DRIVER};DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password; onde os parâmetros representam os seguintes valores:

    database

    O nome do banco de dados.

    hostname

    O nome ou endereço do servidor de banco de dados.

    port

    A porta TCP/IP na qual o banco de dados está atendendo requisições.

    username

    O nome de usuário com o qual será feita a conexão ao banco de dados.

    password

    A senha com a qual será feita a conexão ao banco de dados.

Exemplos

Exemplo #1 Exemplo de DSN PDO_IBM usando db2cli.ini

O exemplo a seguir mostra um DSN PDO_IBM para conexão com um banco de dados DB2 catalogado como DB2_9 em db2cli.ini:

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

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

Exemplo #2 Exemplo de DSN PDO_IBM usando uma string de conexão

O exemplo a seguir mostra um DSN PDO_IBM para conexão com um banco de dados DB2 denominado testdb usando a sintaxe da string de conexão CLI do DB2.

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

adicione uma nota

Notas Enviadas por Usuários (em inglês) 2 notes

up
0
user274091 at gmail dot com
1 month 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