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