Foros del Web » Programación para mayores de 30 ;) » .NET »

Commit y Rollback vb.net

Estas en el tema de Commit y Rollback vb.net en el foro de .NET en Foros del Web. Hola foraneos, les escribo porque tengo un problema mas o menos grave les cuento: Estoy trabajando con Visual Studio 2008 y Oracle 8g ocupo vb.net ...
  #1 (permalink)  
Antiguo 21/10/2008, 15:12
 
Fecha de Ingreso: enero-2008
Mensajes: 68
Antigüedad: 16 años, 3 meses
Puntos: 2
Commit y Rollback vb.net

Hola foraneos, les escribo porque tengo un problema mas o menos grave les cuento:
Estoy trabajando con Visual Studio 2008 y Oracle 8g ocupo vb.net
quiero realizar una insercion masiva a la base de datos, imaginemos que en la mitad de la insercion se cae el metodo en visual.net. alli se tendria que ocupar un Rollback para borrar todos los registros anteriores y cuando inserte todos los registros correctamente alli ocupar un commit.
mi duda viene ahora como se hace eso en vb.net abra una funcion predefinida con los commit y rollback o simplemente no se puede hacer???

por favor les pido su ayuda
se agradece de ante mano
  #2 (permalink)  
Antiguo 21/10/2008, 15:27
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Commit y Rollback vb.net

si se pueden hacer creando un objeto como SqlTransaction( en tu caso uno para el oracle) que implementa IDbTransaction y que se lo asignas a tus commands OracleCommand o SqlCommand para poder realizar un commit o un rollback en tu código.

Revisa

http://msdn.microsoft.com/es-es/libr...on(VS.80).aspx

http://msdn.microsoft.com/es-es/libr...on(VS.80).aspx
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #3 (permalink)  
Antiguo 21/10/2008, 16:02
 
Fecha de Ingreso: enero-2008
Mensajes: 68
Antigüedad: 16 años, 3 meses
Puntos: 2
Respuesta: Commit y Rollback vb.net

Cita:
Iniciado por Peterpay Ver Mensaje
si se pueden hacer creando un objeto como SqlTransaction( en tu caso uno para el oracle) que implementa IDbTransaction y que se lo asignas a tus commands OracleCommand o SqlCommand para poder realizar un commit o un rollback en tu código.

Revisa

http://msdn.microsoft.com/es-es/libr...on(VS.80).aspx

http://msdn.microsoft.com/es-es/libr...on(VS.80).aspx
Gracias por tu respuesta,
Probe el codigo y me funciona solo para una insercion si quiero insertar varios registros no me funciona se me cae al instante.
te cuento lo que estoy haciendo, un importador de excel a visual.net y de visual.net a oracle. entonces cargo el excel a visual.net sin ningun problema y alli recorro la grilla para hacer la insercion a oracle y me pidieron que ocupara commit y rollback cuando se termine el proceso de insertar toda la grilla.


Cita:
For j = 0 To dgCarga.Rows.Count - 1
For i = 0 To dgCarga.Columns.Count - 1
_values = _values & "'" & dgCarga.Rows(j).Cells(i).Value & "',"
Next
_values = _values.Substring(0, _values.Length - 1)
objProceso.InsertarTabla(_values)
_values = String.Empty
Next
la cuestion es cuando termine de recorrer toda la grilla recien ahi hacer un commit se podra??????
  #4 (permalink)  
Antiguo 21/10/2008, 16:12
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Commit y Rollback vb.net

pues mas de pasar el transaction como parametro de tu insertar tabla. y al final hacer el commit como si el transaction fuera global para los 2 metodos este y el InsertarTable.

PD: porq hacer todo tan manual si puedes usar sqlbulkcopy (es solo una sugerencia) :)

http://msdn.microsoft.com/es-es/libr...py(VS.80).aspx
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5

Última edición por Peterpay; 22/10/2008 a las 11:44 Razón: inserstar por insertar
  #5 (permalink)  
Antiguo 22/10/2008, 08:04
 
Fecha de Ingreso: enero-2008
Mensajes: 68
Antigüedad: 16 años, 3 meses
Puntos: 2
Respuesta: Commit y Rollback vb.net

Cita:
Iniciado por Peterpay Ver Mensaje
pues mas de pasar el transaction como parametro de tu inserstar tabla. y al final hacer el commit como si el transaction fuera global para los 2 metodos este y el InsertarTable.

PD: porq hacer todo tan manual si puedes usar sqlbulkcopy (es solo una sugerencia) :)

http://msdn.microsoft.com/es-es/libr...py(VS.80).aspx
Me funciono como me lo plantaste tu gracias Peterpay.
lo que pasa es que me lo pidieron hacer de esa forma.
  #6 (permalink)  
Antiguo 23/10/2008, 05:13
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 11 meses
Puntos: 7
Respuesta: Commit y Rollback vb.net

Y acaso no le valdría con el "Mítico" :

Using transaccionScope As New TransactionScope(TransactionScopeOption.Required, txOptions)
{
try
{
transaccionScope.Complete();
}
catch(Exception ex)
{
transaccionScope .Dispose();
}
}
__________________
Charlie.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:44.