Re: Problema con DBD::Oracle

From: José Ruiz aguilera <farfaconda(at)gmail(dot)com>
To: Fernando Fontana <fernando(dot)fontana(at)gmail(dot)com>
Cc: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Problema con DBD::Oracle
Date: 2009-02-03 11:26:41
Message-ID: ad88fc5e0902030326v106e6db1q9fe19c3085d68382@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Todo funciona bien si se realiza localmente, en caso que se conecte al
postgres desde otra maquina (mediante psql, u otro tipo) no funciona.

Ya he encontrado el problema, que es que la cadena de conexión que se
genera contiene unos caracteres que no le gusta al Listener de ORACLE.

Ejemplo:

(DESCRIPTION=(ADDRESS=(HOST=172.26.0.251)(PROTOCOL=TCP)(PORT=1521))(CONNECT_DATA=(SID=TSH1)(CID=(PROGRAM=postgres:
postgres test 172.26.0.233(1838)
SELECT)(HOST=SERVIDORNOMINES)(USER=postgres))))

Lo que no le gusta son los parentesis que estan en la clave PROGRAM
(cuando se conecta localmente, en lugar de aparecer la ip y el puerto
de origen de la consulta, aparece la etiqueta [local]).

Entonces el problema ya no pasa a ser de postgres, sino más bien del
modulo DBD::Oracle, voy a investigar como puedo quitar los parentesis.

El día 3 de febrero de 2009 0:07, Fernando Fontana
<fernando(dot)fontana(at)gmail(dot)com> escribió:
> pues, creo que me perdí entonces.
> ¿podrías indicarnos en qué casos funciona y cuales no?
>
> saludos,
> Fernando Fontana
>
> El día 2 de febrero de 2009 15:01, José Ruiz aguilera
> <farfaconda(at)gmail(dot)com> escribió:
>> La instalación de DBD::Oracle es correcta, pasa los tests
>> correctamente. Respecto a dbi-link, me ocurre el mismo problema con
>> el, ya que internamente también necesita establecer una conexión
>> mediante DBD::Oracle (si, se que se pueden usar otros modulos, pero
>> por ahora es el que estoy probando conjuntamente con DBD::ODBC, a ver
>> cual es el que funciona antes...)
>>
>> El día 2 de febrero de 2009 16:09, Fernando Fontana
>> <fernando(dot)fontana(at)gmail(dot)com> escribió:
>>> Hola,
>>> sugiero que testees primero la instalación del DBD::Oracle. en ese
>>> paquete está la opción de testear (a través del make) la cual realiza
>>> conexiones a Oracle, ejecuta sql, etc. si el problema está por ahí,
>>> posteá en CPAN (http://www.cpanforum.com/dist/DBD-Oracle).
>>> en vez de programas perl propios para conectar postgres con oracle es
>>> mejor usar el paquete libre dbi-link
>>> (http://pgfoundry.org/projects/dbi-link/) que generaliza las
>>> conexiones a cualquier rdbms y sin tener que cambiar sintaxis sql
>>> (hacés select a una tabla sin importar si es local o está en oracle o
>>> ...)
>>>
>>> saludos,
>>> Fernando Fontana
>>>
>>> El día 2 de febrero de 2009 12:18, José Ruiz aguilera
>>> <farfaconda(at)gmail(dot)com> escribió:
>>>> El día 2 de febrero de 2009 14:00, Emanuel Calvo Franco
>>>> <postgres(dot)arg(at)gmail(dot)com> escribió:
>>>>> El día 2 de febrero de 2009 10:49, José Ruiz aguilera
>>>>> <farfaconda(at)gmail(dot)com> escribió:
>>>>>> El día 2 de febrero de 2009 13:09, Emanuel Calvo Franco
>>>>>>
>>>>>> Están ambos ejecutándose. Y directamente desde un terminal del
>>>>>> servidor, tanto el script como la función del postgres funcionan bien,
>>>>>> es cuando abro una sesión en el postgres desde otra maquina (mediante
>>>>>> psql) que me da dicho error.
>>>>>>
>>>>>
>>>>> Ahora si estamos hablando de pgsql. Pero no es el mismo error (seguro,
>>>>> porque el que pegaste era de ORA)
>>>>>
>>>>> Puede ser no que tengas configurado los archivos .conf para permitir
>>>>> conexiones remotas.
>>>>>
>>>>> 1) fijate si el socket existe s.PGSQL.5432 (o el puerto en donde hayas instalado
>>>>> el pgsql)
>>>>> 2) el pg_hba.conf tiene que tener una linea que abra la conexión a host (puede
>>>>> ser que este mal la linea)
>>>>> 3) el postgresql.conf tiene que tener la linea listen_addresses='*' (en el caso
>>>>> que quieras que cualquier maquina escuche.
>>>>>
>>>>> Además verifica que la linea de psql esta bien.
>>>>> psql -p5432 -Uusuario -h120.xx.xx.xx basededatos
>>>>>
>>>>
>>>> Me parece que me he explicado mal, la conexión la realiza bien, es la
>>>> llamada a la función que realiza la conexión mediante DBD::Oracle que
>>>> suelta el error anterior.
>>>>
>>>> No sé, probaré otras alternativas para ver si consigo conectarme.
>>>>
>>>>>
>>>>>> He comprobado que no fueran variables de entorno, librerias, archivos
>>>>>> de configuración, etc... pero nada.
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>> --
>>>>>>>> Atte. José Ruiz Aguilera.
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Emanuel Calvo Franco
>>>>>>> Sumate al ARPUG !
>>>>>>> (www.postgres-arg.org -
>>>>>>> www.arpug.com.ar)
>>>>>>> ArPUG / AOSUG Member
>>>>>>> Postgresql Support & Admin
>>>>>>> --
>>>>>>> TIP 8: explain analyze es tu amigo
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Atte. José Ruiz Aguilera.
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Emanuel Calvo Franco
>>>>> Sumate al ARPUG !
>>>>> (www.postgres-arg.org -
>>>>> www.arpug.com.ar)
>>>>> ArPUG / AOSUG Member
>>>>> Postgresql Support & Admin
>>>>> --
>>>>> TIP 6: ¿Has buscado en los archivos de nuestra lista de correo?
>>>>> http://archives.postgresql.org/pgsql-es-ayuda
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Atte. José Ruiz Aguilera.
>>>> --
>>>> TIP 3: Si encontraste la respuesta a tu problema, publícala, otros te lo agradecerán
>>>>
>>>
>>
>>
>>
>> --
>> Atte. José Ruiz Aguilera.
>>
>

--
Atte. José Ruiz Aguilera.

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Fernando Fontana 2009-02-03 12:26:57 Re: Problema con DBD::Oracle
Previous Message Raúl Andrés Duque Murillo 2009-02-03 10:45:27 Re: [pgsql-es-ayuda] Múltiples BEGIN en VFP