El 3 de febrero de 2009 4:40, Raúl Andrés Duque Murillo <
[email protected]> 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 ::

Responder a