SOLUCIONADO Problemas con Guarani3W - Sin conexión

Gente,
desde el viernes pasado, tengo inconvenientes con Guarani3w. Por mi parte administro el servidor donde se encuentra el Informix y no hubo ningun cambio. El administrador del Servidor Web, tampoco realizo cambios de su lado en servidor, donde se encuentra la aplicacion PHP. Si entran al link guarani.frsf.utn.edu.ar, pueden ver el error que estamos teniendo, y por lo que nadie puede ingresar al Guarani. La interfaz de gestion funciona correctamente.
El error es el siguiente: S1000 [unixODBC][Informix][Informix ODBC Driver]Unspecified System Error = -11041.
El odbc.ini del servidor Web tiene la siguiente información, donde el nombre del servidor y de la base de datos es correcto:
Driver=Informix
Server=alum_w2000
Database=g_definitiva
CLIENTE_LOCALE=en_us.8859-1
DB_LOCALE=en_us.8859-1
TRANSLATIONDLL=/opt/informix/lib/esql/igo4a304.so

El servidor Web es un Centos.
Por favor, espero sus sugerencias, ya que necesito solucionar esto urgente, ya que se debe abrir la inscripcion a examenes.
Saludos.

Marcela Vera
UTN - Regional Santa Fe

Hola Marcela

Digan lo que digan yo empezaría revisando los nombres en el guarani, en el odbc.ini en odbcinst…
Luego revisaría que estén las librerias.

Emilio

Gente,

segun me dice la gente del servidor web, todo anda, nada fue cambiado. estoy probando con el php test_conexion, y veo que el error es el mismo, o sea, conectarse se conecta, pero sigue dando los siguientes errores:

(odbc): SELECT * FROM sga_unidades_acad; S1000: [unixODBC][Informix][Informix ODBC Driver]Unspecified System Error = -11041.

ADOConnection._Execute(SELECT * FROM sga_unidades_acad;, false) % line 856, file: adodb.inc.php
ADOConnection.Execute(SELECT * FROM sga_unidades_acad;) % line 16, file: test_conexion.php
Ambas lineas, obviamente, son cuando intenta hacer el select, y por alguna razon, no lo puede hacer. ¿Si el PHP en la servidor Web se actualizo, deberian actualizar el driver Informix? ¿Les pido que instalen un nuevo ODBC para Informix, para probar?
Gracias por su ayuda.

Marcela Vera

fijate en el log del informix a ver si registra una conexion.
cambiaron el php?
la conexion es odbc o pdo?

Emilio

Gente,
en el log de informix no se registra ninguna conexion. La conexion es via ODBC, y segun lo que me dicen el PHP no se actualizo en el Servidor Web.

Marcela

poné un phpinfo a ver si te da algo de información acerca del odbc

por las dudas entra a
http://www.oninit.com/errorcode/index.php

y fijate la descripcion del error, por ahi les da una idea.

Gente,
tire un phpinfo, y los valores son :
odbc.allow_persistent On On
odbc.check_persistent On On
odbc.default_cursortype Static cursor Static cursor
odbc.default_db no value no value
odbc.default_pw no value no value
odbc.default_user no value no value
odbc.defaultbinmode return as is return as is
odbc.defaultlrl return up to 4096 bytes return up to 4096 bytes
odbc.max_links Unlimited Unlimited
odbc.max_persistent Unlimited Unlimited
Que supuestamente son los correctos.
Me dicen que el php se actualizo, la version actual es 5.2.13.

Marcela Vera

mmm…
tienen otro sistema funcionando en ese servidor que se conecte a algun lado via odbc?
no se habrán cambiado los permisos o el acceso?
un dsn puede no existir porque no esté definido, porque haya un error de ortografía, porque el usuario que está queriendo leerlo no tiene permisos, etc.

Emilio,
en el servidor Informix, no se modifico ningun usuario, ni permisos, ni nada. Ahora estan viendo si la actualización en el servidor Web del php puede ser el problema. Creo que una alternativa seria tambien instalar un nuevo driver ODBC para Informix, pero eso lo esta revisando la gente sobre el servidor Web.
Por ahora, no le encontramos la solucion al problema, pero seguimos investigando.
Saludos.

Marcela Vera
UTN - Regional Santa Fe

el problema no está en el informix sino en el servidor web.
si estuviese en el informix te tiraria otro error, usuario desconocido o cosa por el estilo.

en el phpinfo les aparecen las variables INFORMIXDIR y ODBCINI?

Emilio,
no aparecen ninguna de las dos ¿tienen que aparecer? La conexion es via ODBC. Si queres ver el phpinfo, esta en: guarani.frsf.utn.edu.ar/pruebaphp.php.
Saludos

Marcela Vera

Ayer estaba viendo lo de unixODBC y para informix dice que tienen que estar como variables de ambiente
putenv(“ODBCINI”,“path_al_archivo”)
Te recuerdo que linux y apache no son mis mejores amigos…

Emilio

en la configuracion del php aparece --without-unixODBC
y luego aparece como cargada /etc/php.d/odbc.ini

esto es correcto?
me parece que el php no se está enterando de donde sacar los dsn definidos en el sistema.

Marcela, si PHP está corriendo como un módulo de Apache, entonces el script que arranca Apache debe asegurarse de que estas variables estén exportadas (por ejemplo)

INFORMIXDIR="/opt/informix"
LD_LIBRARY_PATH="/opt/informix/lib:/opt/informix/lib/esql"
SQLHOSTS="/opt/informix/etc/sqlhosts"
ODBCINI="/etc/odbc.ini"

ENV="env -i ODBCINI=$ODBCINI INFORMIXDIR=$INFORMIXDIR LD_LIBRARY_PATH=$LD_LIBRARY_PATH SQLHOSTS=$SQLHOSTS LANG=C PATH=/usr/local/bin:/usr/bin:/bin"

Fijate si con esto se soluciona. Según el mensaje de error, no se puede encontrar el nombre del dns o el archivo .ini del ODBC.

Espero que ayude

Gente,
hemos solucionado el problema que teniamos con 3W.
Les comento un poco: se actualizo el apache a una nueva versión y el mismo funciona en “modo vacio” en centos 5.5, esto es no toma ninguna variable del archivo /etc/profile. Lo solucionamos colocando las variables en el archivo httpd en forma directa o a traves de un script.
Saludos.

Marcela Vera