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