error al usar odbc en php para conectar a db2

pues tengo el error:

Comunication Link failure. comm rc=10061 - CWBCO1049 - The iSeries server application is not started, SQL state 08004 in SQLConnect

el servicio db2 esta funcionnado, ya que por consola no hay ningun problema, solo pasa por php y la conexion tiene que ser por odbc necesariamente, ya que es para un proyecto de una amiga.

La linea de conexion es:

odbc_connect("nombre_conexion","usuario","password");

¿alguna idea?

gracias.

Opciones de visualización de comentarios

Seleccione la forma que desee de mostrar los comentarios y haga clic en «Guardar opciones» para activar los cambios.
Gravatar de vfmmeo

# 52370: conexiones remotas?

Hola,

Te hablo desde mi conocimiento básico en bases de datos. Pero, ¿has configurado a db2 para que acepte conexiones remotas?

Prueba también a tirar el script php desde una consola, a ver si funciona o no, para descartar errores en el script.

Atentamente,
El BOFH anteriormente conocido como vfmmeo. No había nadie mejor disponible.

Repetid conmigo: Mandriva mola y te lo demostraré
Cada día me gusta más Konqueror para navegar...
Linux user #444536

Gravatar de alienator

# 52425: problema de puerto

bueno, revise la configuiracion y esta permitido las conexiones remotas, el problema esta en el puerto, el db2 esta escuchando por el 500000 y al parecer la conexion odbc se hace por otro puerto, el cwbping a localhost sin puerto no conecta, pero especicificando el puerto 500000 si da conexion establecida.

La situacion esta en poder cambiar el puerto en la conexion odbc, en mysql o similares es facil, solo se aumenta Port= numero de puerto, pero en db2 no es asi....

si alguien me puede ayudar le agradeceria mucho, por sino se entendio necesito cambiar el puerto en la conexion odbc del db2, el cual usa el iSerier driver.

gracias

Gravatar de vfmmeo

# 52429: Prueba así para configurar tu conexión

$database = 'Tu_Base_de_datos';
$user = 'Tu_user';
$password = 'Tu_password';
$hostname = 'localhost';
$port = 50000;
$conn_string = “DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;” .
“HOSTNAME=$hostname;PORT=$port;
     PROTOCOL=TCPIP;UID=$user;PWD=$password;”;
$connection = db2_connect($conn_string, '', '');

De paso, asegurate de que el firewall está abierto para el puerto 50000.

Atentamente,
El BOFH anteriormente conocido como vfmmeo. No había nadie mejor disponible.

Repetid conmigo: Mandriva mola y te lo demostraré
Cada día me gusta más Konqueror para navegar...
Linux user #444536