php pdo db2 ibm

php - conexión al error de configuración manual del módulo db2 a pdo_ibm SQL10007N-5005



(2)

Has probado la forma alternativa provista aquí

El siguiente ejemplo muestra un DSN de PDO_IBM para conectarse a una base de datos DB2 catalogada como DB2_MAXIMO en db2cli.ini:

$db = new PDO("ibm:DSN=DB2_MAXIMO", "", ""); [DB2_MAXIMO] Database=SAMPLE Protocol=TCPIP Port=50002 Hostname=my-db2-machine UID=my-OS-user PWD=my-OS-password

Tengo dificultades para conectarme a la base de datos db2 remota usando pdo_ibm, seguí las instrucciones de IBM para configurar la biblioteca pdo_ibm y el cliente de Linux, pero como mi php no está configurado manualmente pero instalado a través de apt-get, no estoy seguro de si el error actual podría ser debido a una configuración incorrecta o cualquier otra cosa.

Mi etapa es: Linux debian wheezy ibm db2 client 10.5 php 5.4.45 pdo_ibm 1.4

cuando intento conectarme con db2 con el siguiente código:

<?php $usernameMaximo = ''@user''; $passwordMaximo = ''@password''; $connectionStringMaximo = ''ibm:DRIVER={IBM DB2 ODBC DRIVER};DATABASE=@databaseName;[email protected];PORT=50002;PROTOCOL=TCPIP;''; try { $connection = new PDO($connectionStringMaximo, $usernameMaximo, $passwordMaximo, array( PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION) ); echo "Success"; } catch (Exception $e) { var_dump($e); }

Obtuve el siguiente error

object(PDOException)[2] protected ''message'' => string ''SQLSTATE= , SQLDriverConnect: -5005 [IBM][CLI Driver] SQL10007N Message "0" could not be retrieved. Reason code: "3". '' (length=123) private ''string'' (Exception) => string '''' (length=0) protected ''code'' => int 0 protected ''file'' => string ''/apps/html/tests/pdo_db2.php'' (length=28) protected ''line'' => int 8 private ''trace'' (Exception) => array (size=1) 0 => array (size=6) ''file'' => string ''/apps/html/tests/pdo_db2.php'' (length=28) ''line'' => int 8 ''function'' => string ''__construct'' (length=11) ''class'' => string ''PDO'' (length=3) ''type'' => string ''->'' (length=2) ''args'' => array (size=4) ... private ''previous'' (Exception) => null public ''errorInfo'' => null

La red / firewall ya está activada para poder conectarme a través del cliente de ardilla. ¿Alguien ha enfrentado el mismo problema?


¿Puedes intentar establecer el nombre de instancia de NCIM correcto? por defecto:

DB2INSTANCE=db2inst1

Para saber si db2inst1 es el nombre correcto de la instancia de DB2, ejecute:

sudo su db2inst1 db2level

La respuesta podría ser algo como esto:

DB21085I Instance "db2inst1" uses "64" bits and DB2 code release "SQL09074" with level identifier "08050107". Informational tokens are "DB2 v9.7.0.4", "s110330", "IP23243", and Fix Pack "4". Product is installed at "/opt/ibm/db2/V9.7".