Foros del Web » Administración de Sistemas » Unix / Linux »

ODBC o IODBC

Estas en el tema de ODBC o IODBC en el foro de Unix / Linux en Foros del Web. Buenassss Gente: Soy nuevo en linux. y me asignaron la tarea de instalar PH con acceso a DB2 ( alojado en otro server ) en ...
  #1 (permalink)  
Antiguo 25/08/2006, 08:07
 
Fecha de Ingreso: julio-2003
Mensajes: 95
Antigüedad: 21 años, 4 meses
Puntos: 0
ODBC o IODBC

Buenassss Gente:

Soy nuevo en linux.

y me asignaron la tarea de instalar PH con acceso a DB2 ( alojado en otro server ) en un Red Hat

Bueno, como buen alumno he leido un par de tutoriales, pero necesito su ayuda.



Les comento lo que he probado

catalogar la DB

con un alias MY_DBL

todo bien todavia



tenia dos posibilidades una es instalar las librerias de PECL, el cual tiene las funciones de DB2 para PHP y otra es mediante las funciones de odbc



he probado ambas sin ningun resultado siempre he llegado a este mensaje de error

Warning: odbc_connect(): SQL error: \µMAÛ, SQL state ýÿÿÿdn in SQLConnect in /home/yo .....



Ahora voy por el camino de iodbc, pero antes habia probado unixODBC entonces al instalar el rpm de www.iodbc.org salta el siguiente error



file /usr/include/sql.h from install of libiodbc-devel-3.52.4-1 conflicts with file from package unixODBC-devel-2.2.3



esto es si quiero instalar todos los paquetes.





Pero si quiero instalar sol uno ejemplo package

rpm -ivh libiodbc-3.52.4-1.i386.rpm

aparece este mensaje

libiodbc-3.52.4-1 is already installed

lo cual es correcto.



Pero el gran tema es cuando compilo el php

con la opcion de iodbc



./configure --enable-discard-path --with-layout=GNU --enable-experimental-zts --with-regex=php --enable-experimental-zts --enable-debug --enable-calendar --with-iodbc=/usr --without-mysql --disable-sockets --enable-cli



#make install

.........

/usr/bin/ld: cannot find -liodbc
collect2: ld returned 1 exit status
make: *** [libphp4.la] Error 1



e buscado el archivo libiodbc.so



este es un resultado de ejecutar un rpm -ql libiodbc



/usr/bin/iodbctest
/usr/bin/iodbctestw
/usr/lib/libiodbc.so.2
/usr/lib/libiodbc.so.2.1.15
/usr/lib/libiodbcinst.so.2
/usr/lib/libiodbcinst.so.2.1.15
/usr/share/man/man1/iodbctest.1.gz
/usr/share/man/man1/iodbctestw.1.gz


es decir solo aparece libiodbc.so.2
pero no libiodbc.so



la verdad estoy un poco perdido con esto.



Quiero buscar la logica a todo esto y no encuentro, haber en que estoy fallando

a PHP le digo cual es el camino en donde se encuentra la instancia de DB2 ej /opt/DB2/V8.1 luego le digo como se llama la instancia el usuario y pass con el q tiene q acceder al server y deberia acceder sin ningun problemas con un odbc_connect($database,"","");

o sus variantes, perooo, nada.



Bueno Gracias y disculpen
  #2 (permalink)  
Antiguo 25/08/2006, 08:38
Avatar de ociomax
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Temuco, Chile
Mensajes: 5.595
Antigüedad: 22 años, 6 meses
Puntos: 35
Tu problema es que estás mezclando paquetes RPM para distintas distribuciones; por eso estás teniendo conflictos entre los archivos. Lo que deberías hacer es crear un nuevo paquete RPM de PHP con las opciones que necesitas. Para ello debes tener instalado el paquete rpm-build y seguir los siguientes pasos:

1. Descargar el paquete SRPM (RPM de código fuente) correspondiente a la última actualización de PHP para tu distro (¿qué Red Hat estás usando? Espero que no sea Red Hat 9...).
2. Instalar el paquete SRPM ("rpm -Uvh php-XYZ.src.rpm").
3. Editar el archivo /usr/src/redhat/SPECS/php.spec y cambiar las opciones de compilación necesarias para obtener soporte para DB2.
4. Construir un nuevo paquete RPM a partir del archivo SPEC que modificaste ("rpmbuild-ba /usr/src/redhat/SPECS/php.spec"). Si falta algún paquete adicional para recompilar, el sistema debería avisarte.
5. Si todo va bien, los nuevos RPMS que has creado estarán en /usr/src/redhat/RPMS.

Pero antes de eso, sugiero que te asegures de desinstalar TODOS los paquetes RPM que has instalado "a la mala", es decir, que no son oficiales en tu distribución.

¡Suerte!
__________________
Christian González, "OCIOMax"
http://chgonzalez.blogspot.com
http://twitter.com/chgonzalez
  #3 (permalink)  
Antiguo 25/08/2006, 08:43
 
Fecha de Ingreso: julio-2003
Mensajes: 95
Antigüedad: 21 años, 4 meses
Puntos: 0
Ejem, pregunta antes de probar esto.
Lamentablemente. si, tengo Red Hat 9.
Existe algunos problemas con este?
  #4 (permalink)  
Antiguo 25/08/2006, 09:33
Avatar de ociomax
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Temuco, Chile
Mensajes: 5.595
Antigüedad: 22 años, 6 meses
Puntos: 35
Red Hat 9 es prehistórico y no existe razón alguna para usar una distribución tan antigua. Debes actualizar, o te arriesgas a que cualquier cracker medianamente hábil entre a tu servidor.

Te recomiendo Fedora (para equipos de uso general) o CentOS (para servidores y equipos de producción). Ambos traen las mismas herramientas y se administran (casi) de la misma manera que Red Hat 9.

Lee http://ociomax.blogsome.com/2005/08/...alk-en-kopete/
__________________
Christian González, "OCIOMax"
http://chgonzalez.blogspot.com
http://twitter.com/chgonzalez
  #5 (permalink)  
Antiguo 25/08/2006, 12:58
Avatar de ociomax
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Temuco, Chile
Mensajes: 5.595
Antigüedad: 22 años, 6 meses
Puntos: 35
Cita:
Iniciado por ociomax Ver Mensaje
Red Hat 9 es prehistórico y no existe razón alguna para usar una distribución tan antigua. Debes actualizar, o te arriesgas a que cualquier cracker medianamente hábil entre a tu servidor.

Te recomiendo Fedora (para equipos de uso general) o CentOS (para servidores y equipos de producción). Ambos traen las mismas herramientas y se administran (casi) de la misma manera que Red Hat 9.

Lee http://ociomax.blogsome.com/2005/05/...-hat-y-fedora/
(UPDATE: Corregí el enlace.)
__________________
Christian González, "OCIOMax"
http://chgonzalez.blogspot.com
http://twitter.com/chgonzalez
  #6 (permalink)  
Antiguo 25/08/2006, 13:22
 
Fecha de Ingreso: julio-2003
Mensajes: 95
Antigüedad: 21 años, 4 meses
Puntos: 0
Gracias por el consejo.
Pero la idea es conectar en un red hat 9, no , cambiar de linux.
  #7 (permalink)  
Antiguo 25/08/2006, 13:28
Avatar de ociomax
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Temuco, Chile
Mensajes: 5.595
Antigüedad: 22 años, 6 meses
Puntos: 35
Bueno, el consejo es válido también para Red Hat 9. Pero considera actualizar apenas tengas la oportunidad.
__________________
Christian González, "OCIOMax"
http://chgonzalez.blogspot.com
http://twitter.com/chgonzalez
  #8 (permalink)  
Antiguo 25/08/2006, 13:32
 
Fecha de Ingreso: julio-2003
Mensajes: 95
Antigüedad: 21 años, 4 meses
Puntos: 0
Con respecto a lo anterior, que diferencia hay con que realize un ./configure y pase los parametros?
igualmente lo he probado y sigue todo igual.
es decir el mismo maldito mensaje
Warning: odbc_connect(): SQL error: \µMAÛ, SQL state ýÿÿÿDn SQLConnect in /home/..... on line 24
SQLSTATE value: ýÿÿÿD¼Connection failed DB2.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:53.