La Web del Programador: Comunidad de Programadores
 
    Pregunta:  15979 - COMMIT PARA ORACLE
Autor:  Eduardo Solar Barra
Hola a todos,
Mi consulta es la siguiente, hace poco migramos un sistema realizado en Visual Basic 4.0 y Access 2.0 y lo dejamos en Visual Basic 6.0 y Oracle, no tengo procedimientos almacenados para realizar los Insert, Delete y Update y cuando necesito realizar esta operación ejecuto

variable seteada a la Base de Datos DBGENERAL
DBGENERAL.EXECUTE "DELETE FROM XXXX",dbSQLPassThrough

Lo que me queda pendiente, es como realizar el commit, ya que lo intento y me arroja error, también probe el comando executeSql

Desde ya muchas gracias

  Respuesta:  Adriana Samaniego Gómez
Hola:

Yo utilizo las sentencias SQL para los insert,update y deletes, el COMMIT viene implicito en la instruccion BASEDEDATOS.ExecuteSQL query.

Ejemplo
-Abrir la base de datos
Set dbOracle = opendatabase("", dbDriverComplete,False, "ODBC;DSN=mybade;DATABASE=baanmybade;UID=MATERIAL ;PWD=mat_spot;")

-Borrar una tabla

query = "Delete from tblPrueba"

-Ejecutar la instruccion
dbOracle.ExecuteSQL query

Aqui automaticamente se realiza el commit.

YO lo comprobé cuando comenzaba a programar, esta realizando un update, se me olvido incluir la condicion WHERE y se actualizaro todos los registros de la tabla.Ya no pude hacer un roolback en el SQL Plus.

Espero que te sirva esta información, si necesitas mas detalle mandame un mail.

Saludos