Visual Basic - transacciones en oracle

Life is soft - evento anual de software empresarial
   
Vista:

transacciones en oracle

Publicado por andreafuhr (95 intervenciones) el 29/05/2008 19:15:23
Hola gente linda!
Les cuento mi situación, a ver si alguien puede darme una mano:
Inicio un transacción
hago los truncates e inserts en las tablas correspondientes
y luego no confirmo la transaccion (genero un error a propósito para ver si se cancela
la transacción) y me encuentro con que los cambios se realizaron igual en la base.
UPS!

Este es el codigo:
-------------------------------------------------
Public Sub consultaSQL()
On Error GoTo er:

'trunco la tabla maestra
Dim SQLQuery As String
Dim CmdComando As New ADODB.Command
ConexODBC.BeginTrans

SQLQuery = "TRUNCATE TABLE " & tablaSalidaMaestra
'ConexODBC.Execute (SQLQuery)
CmdComando.CommandText = SQLQuery
Set CmdComando.ActiveConnection = ConexODBC
CmdComando.Execute


'cargo la tabla maestra
SQLQuery = "INSERT INTO " & tablaSalidaMaestra
SQLQuery = SQLQuery & " SELECT A.capa,a.ID_ELEMENTO as ID_INST, a.cuenca, a.ug, a.provincia, a.area_concesion, a.dist_geof, a.YACIMIENTO, a.X, a.Y, "
SQLQuery = SQLQuery & "a.pcoord, a.scoord, a.fecha_corrida as VIGENCIA_DATOS,B.CATEG_INST, B.SUB_CATEG_INST, B.TIPO, B.NOMBRE, B.ESTADO, B.OBSERVACIONES, B.ID_EB, B.ID_INFOPROD, "
SQLQuery = SQLQuery & "B.ID_MPX, B.ID_SAHARA, B.ID_SITU, B.FC_CORTE, B.PL_GLICOL "
SQLQuery = SQLQuery & "FROM " & tablaEntradaMaestra & " A, " & vistaEntradaMaestra & " B "
SQLQuery = SQLQuery & "WHERE B.categ_inst = 'Instalacion de Produccion / Inyeccion' "
SQLQuery = SQLQuery & "AND UPPER(A.CAPA) = UPPER(B.CAPA) AND A.ID_ELEMENTO = B.ID_INST "

'ConexODBC.Execute (SQLQuery)
CmdComando.CommandText = SQLQuery
Set CmdComando.ActiveConnection = ConexODBC
CmdComando.Execute

'genero un error en modo intencional para cancelar la transaccion
SQLQuery = "TRUNCATE TABLE T1"
'ConexODBC.Execute (SQLQuery)
CmdComando.CommandText = SQLQuery
Set CmdComando.ActiveConnection = ConexODBC
CmdComando.Execute

ConexODBC.CommitTrans
Exit Sub
Exit Sub
er:
MsgBox Err.Description & " " & Erl
ConexODBC.RollbackTrans
end sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder