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 ::
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 |