Re: [pgsql-es-ayuda] Múltiples BEGIN en VFP

From: Julio Cesar Rodriguez Dominguez <jurasec(at)gmail(dot)com>
To: Raúl Andrés Duque Murillo <ra_duque(at)yahoo(dot)com(dot)mx>
Cc: Lista - PostgreSQL <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: [pgsql-es-ayuda] Múltiples BEGIN en VFP
Date: 2009-02-03 15:15:44
Message-ID: 925902880902030715qa92e8a0hc0b9c9504999150e@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El 3 de febrero de 2009 4:40, Raúl Andrés Duque Murillo <
ra_duque(at)yahoo(dot)com(dot)mx> escribió:

> Cordial saludo.
>
> Tengo una aplicación desarrollada en VFP 9 que se conecta vía ODBC con
> postgresql (8.3.5/Windows).
>
> Aparentemente por un error en la aplicación dentro de una transacción
> activa se esta intentando abrir una nueva transacción. Esto lo deduzco
> porque revisando el log en la hora aproximada que se procesó la transacción
> veo esta línea:
>

Esto no deberia suceder, creo que falta un control mas estricto sobre las
transacciones.

>
> 2009-01-31 17:36:56 COT WARNING: there is already a transaction in
> progress
>
> Esto originó que desde la aplicación se abortara el proceso pero que la
> transacción no se deshiciera y estoy teniendo mucho inconvenientes con esto.
> algunas preguntas:
>
> 1. Es normal que se genere un error en la aplicación si se genera un
> WARNING?
>

No es normal, pero probablemente al no cerrar la transacción (con un error
de por medio) dentro de la sesión esta originado errores en la aplicación.

> 2. Es posible saber en el log cuando se hace se comienza/termina/cancela
> una transacción sin enviar TODAS las sentencias al log.
>

Configurando el log_statement = 'all', veras el log de todas las sentencias,
dentro de ellas los begin, rollback y commit.

> 3. Tendrá que ver en algo este comportamiento por el uso de conexión vía
> ODBC?
>

Pues hasta donde tengo experiencia con VFP y PostgreSql, no he tenido
problemas, uso SQL passthrough (SPT), para mandar los begin, rollback y
commit, según sea el caso, y todo funciona muy bien. Personalmente creo que
es mejor que usar las funciones de VFP, tales como sqlcommit(.HandleConn) y
sqlrollback(.HandleConn) .

>
> Antes no se me había presentado este error y me parece que tiene que ver
> con un cambio que hice en la aplicación. Las transacciones las estaba
> manejando mediante
>
> SQLSETPROP
> ( .HandleConn, "Transactions", 2 )
>
> y lo cambie por enviar directamente al motor el "BEGIN/COMMIT o ROLLBACK".
>
> Atentamente,
>
> RAUL DUQUE
> Bogotá, Colombia
>

--
:: God bless you, every day and every night ::

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Emanuel Calvo Franco 2009-02-03 15:48:27 Re: Detener vaccum
Previous Message Fernando Fontana 2009-02-03 13:07:57 Re: Problema con DBD::Oracle