Busqueda sobre Linux y software libre

Noticias sobre linux y software libre - Google 

Conectar informix en Linux

Prgunta


Tengo un sistema con informix que esta con opensuse, necesito conectarme desde mi equipo que esta con BoliviaOS ( Ubuntu ), hacer lo que es en windows una ODBC, necesito conectarme para hacer unas aplicaciones con php.


Respuesta


Primero asegurate tener la extension ifx, instalada en php5


extension=php_ifx.so

Luego es muy parecido a realizar conexiones y consultas con otras librerias como mysql o postgres.





$conn_id = ifx_connect ("mydb@servidor", "informix", "informix");
    echo "Error en la conexión!";
    exit;
}

$result = ifx_query("SELECT NOMBRES, APELLIDOS FROM T_CLIENTES",$conn_id);

// la siguiente es una función trucha, pero muy practica.
// probablemente quieras hacer una iteración y tomar los valores
// cada registro
ifx_htmltbl_result($result, "border=1");

ifx_free_result($result);
ifx_close($conn_id);
?


Leyendo esthttp://adf.ly/1esDjP tendras toda la idea general de lo que puedes hacer.
Este es un ejemplo muy trivial!! no es suficiente, para una aplicación pero te da una idea, usualmente tendrias que crear una propia clase que administre las conexiones, y tal ves clases que mapeen tus tablas

Hay librerías y ORM's que ya mapean y ayudan con las consultas, ademas de brindar seguridad sanitando las cadenas. puedes encontrar varias. La más completa es Propel y Doctrine.

Yo haría el desarrollo en Symfony http://adf.ly/1esDku y aprovecharía el ORM.


Otra respuesta


Personalmente, muy personalmente, usaría jdbc:

http://adf.ly/1esDnn

http://adf.ly/1esDpA

Php y bases de datos, en mi no tan humilde experiencia, es una
combinación bastante dolorosa... como casi todo en php.



Aclaracion de la pregunta 


la verificacion de php_ifx.so, es en php.ini?




Respuesta a la claración de la pregunta


Seguramente se activa en php.ini, pero  php_ifx.so no existe en
ubuntu. 99.9999% seguro que no existe en boliviaos. Necesitas
compilarlo por tu cuenta. De allí lo de doloroso.



Otra respuesta


Compilar no duele :-)

Con informix bien instalado

$ sudo apt-get install php5-dev
$ svn checkout http://svn.php.net/repository/pecl/informix/trunk php_ifx
$ cd php_ifx
$ export LDFLAGS=$INFORMIXDIR/lib/esql/checkapi.o
$ make

busca la libreria generada informix.so

luego solo añades, "extension=informix.so" en el php.ini que estas usando. No hay más problemas, yo pude compilar en unos tres minutos. Por supuesto, tienes que tener Informix con el SDK osea el archivo checkapi.o tiene que existir.

Después te fijas con una función phpinfo() si esta cargado.

La documentación oficial para la instalación esta aquí


http://adf.ly/1esDsG

puedes notar que no son exactamente los mismos pasos que hice.

Hay más facilidades en otras plataformas, en python es tan trivial como un easy_install.




Ads by CJ - Linux Foundation

Share This