Re: PROBLEMA BEGIN COMMIT

From: "Arturo" <lagsalas(at)mi(dot)madritel(dot)es>
To: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: PROBLEMA BEGIN COMMIT
Date: 2007-03-02 06:32:18
Message-ID: 000e01c75c94$869e1250$f0ca9e52@ayuntamiento
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Gabriel Ferro escribió:
> Tengo una duda (una de tantas) si tengo una serie de instrucciones dentro
de un begin commit, las que voy ejecutando desde un programa en VB6, si el
programa se cierra inesperadamente no dberia deshacerse las operaciones?.
esto no me funcionó
> por ejemplo tengo
>
> cnn.Execute "BEGIN;"
> cnn.Execute "SET CLIENT_ENCODING TO 'LATIN1';"
> pop = "SELECT * from ""Recibidas"" order by
""Dpta"",""Sumario"",""TipoInfo"""
> Set tuplas = cnn.Execute(pop)
> If tuplas.EOF() = False Then
> tuplas.MoveFirst
> Do While Not tuplas.EOF()
> cnn.Execute("INSERT INTO ""RecibidasDes"" VALUES ('" & tuplas!Dpta &
"','" & tuplas!sumario & "','" & tuplas!TipoInfo & "','" &
recuperararos(tuplas!info) & "');")
>
> Y AQUI SE CIERRA EL PROGRAMA, SIN ANTES LLEGAR A LA INSTRUCCION
> cnn.Execute "COMMIT;"
>
> AL CONSULTAR LA TABLA EL REGISTRO EFECTIVAMENTE SE INSERTO, ¿COMO IMPEDIR
ESTO? ¿COMO HACER UN ROOLBACK CUANDO ESTO OCURRE?

Si utilizas ODBC para la conexión, ten en cuenta que en algunos drivers
(e.g. Informix) utilizan un parámetro para la configuración conocido como
"Autocommit" cuya misión es realizar el commit de forma automática en casos
como el que expones. Si este es tu caso, deberás deshabilitarlo para evitar
ese comportamiento no deseado.

Espero que te sirva de ayuda.

Salu2.
_______________________________________________________________
lagsalas(at)mi(dot)madritel(dot)es

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Fernando Dubal 2007-03-02 08:18:41 Re: Limite de transacciones y modo standalone
Previous Message Jaime Casanova 2007-03-02 05:39:51 Re: Rendimiento de mi consulta