Foros del Web » Programando para Internet » ASP Clásico »

Transaccion SQL 2000 en ASP

Estas en el tema de Transaccion SQL 2000 en ASP en el foro de ASP Clásico en Foros del Web. Hola a todos! antes de todo quiero felicitar a toda la comunidad por la gran cantidad de muy buena información que aportan en estos foros, ...
  #1 (permalink)  
Antiguo 01/08/2008, 07:29
Avatar de alterWM  
Fecha de Ingreso: diciembre-2005
Mensajes: 8
Antigüedad: 18 años, 6 meses
Puntos: 0
Pregunta Transaccion SQL 2000 en ASP

Hola a todos! antes de todo quiero felicitar a toda la comunidad por la gran cantidad de muy buena información que aportan en estos foros, resolviendo problemas y dudas comunes a muchos usuarios, desarrolladores, diseñadores, en fin los que hacen y hacemos de internet un gran lugar!



Ahora bien, abro este tema, ya que estoy desarrollando una aplicación web con tecnologia ASP en la cual tengo que convocar una transacción en SQL Server 200, y realmente, no puedo dar con la convocacion hacia la misma.

Esta es la transaccion que quiero convocar, en la tabla articulos

Código:
declare @id_familia int
declare @codigo int
declare @nombre varchar (10)
declare @marca varchar(10)
declare @detalles varchar (10)
declare @precio int
declare @pack int
declare @fotoarticulo varchar (10)
declare @modelo varchar (10)


set@id_familia = 1
set@codigo = 146
set@nombre = 'xx'
set@marca = 'xx'
set@detalles = 'xx'
set@precio = 12
set@pack = 1
set@fotoarticulo = 'jpg'
set@modelo = 'xx'


BEGIN

-- // INICIO LA TRANSACCION

            BEGINTRANSACTION

-- // TRANSACCION A REALIZAR

            INSERTINTO articulos

                        (id_familia,codigo, nombre, marca, detalles, precio, pack, fotoarticulo, modelo )

                        VALUES

            (@id_familia,@codigo, @nombre, @marca, @detalles, @precio, @pack, @fotoarticulo, @modelo )

--// ACEPTO LA TRANSACCION

            COMMITTRANSACTION

SELECT  'EL PROCESO SE PUDO COMPLETAR'

END

BEGIN

--// CANCELO LA TRANSACCION

            ROLLBACKTRAN

            SELECT  'ERROR -> EL PROCESO NO SE PUDO COMPLETAR'

END

Desde ya agradezco a quien pueda ayudarme a resolver esta duda.
  #2 (permalink)  
Antiguo 01/08/2008, 08:46
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 17 años, 7 meses
Puntos: 8
Respuesta: Transaccion SQL 2000 en ASP

Hola AlterWm.

De acuerdo al código que nos pones, no es necesario realizar una transacción, pues SQL Server lo hace implicitamente. Las transacciones son válidas cuando realizas más de una operación sobre la base de datos, y quieres que se realice todo o nada.

Saludos!
  #3 (permalink)  
Antiguo 01/08/2008, 08:51
Avatar de alterWM  
Fecha de Ingreso: diciembre-2005
Mensajes: 8
Antigüedad: 18 años, 6 meses
Puntos: 0
Respuesta: Transaccion SQL 2000 en ASP

Hola Daniel !

De acuerdo, tienes razon, pero en el caso de que realize una transaccion (ejemplo: cuando se ingrese un registro en la tabla PEDIDOS, se baje en la cantidad de la tabla STOCK, como convoco esta transaccion desde ASP?
  #4 (permalink)  
Antiguo 01/08/2008, 09:22
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 17 años, 7 meses
Puntos: 8
Respuesta: Transaccion SQL 2000 en ASP

Hola.

1.-Aunque es posible manejar transacciones dentro del objeto Connection ( http://www.w3schools.com/ado/met_conn_begintrans.asp ), desde mi experiencia consume muchos recursos y más si Servidor de Datos y Servidor Web estan en distintos equipos, además de la configuración.

2.-Ahora bien, lo que yo hago regularmente es trabajarlo dentro de un stored procedure, creas un stored procedure que se llame por ejemplo NuevoPedido, y sólo es invocarlo desde ASP, ASP no sé preocupa por nada más. Aquí manejas las sentencias BEGIN TRANS y COMMIT, pero dentro del servidor.

3.-Una dificultad del punto 2 es pasarle el detalle del pedido al Stored, esto se logra armando cadenas para después en "desdoblarlas" dentro del Stored, por ejemplo armas una cadena del tipo, "015A|6;020|2;030", lo que se puede leer como: "del producto 015A quiero 6 cajas; del producto 020 quiero 2 kilos; el producto 030 cobro del servicio por entrega a domicilio ", la restricción de este manera es el tipo de datos varchar, es cual sólo soporta hasta 8000 caracteres. Sí tus detalles de pedidos son muy extensos sólo se puede solucionar de la manera del punto 1.

Espero haberme explicado.

Saludos!
  #5 (permalink)  
Antiguo 02/08/2008, 05:55
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 18 años, 5 meses
Puntos: 7
Respuesta: Transaccion SQL 2000 en ASP

Aparte de las indicaciones de daniel00 tambien puedes hacerlo desde el mismo MSSQL usando stored procedures (procedimientos almacenados) Es decir, las transacciones se realizan directamente en la BD sin cargar el servidor web. Un ejemplo de ello lo puedes ver es este tema:

http://www.forosdelweb.com/f15/llama...do-asp-234834/


Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #6 (permalink)  
Antiguo 05/08/2008, 11:48
Avatar de alterWM  
Fecha de Ingreso: diciembre-2005
Mensajes: 8
Antigüedad: 18 años, 6 meses
Puntos: 0
Respuesta: Transaccion SQL 2000 en ASP

Desde y muchas gracias, estoy probando los diferentes metodos, aun sin resultados, pero sigo intentando.
  #7 (permalink)  
Antiguo 05/08/2008, 19:17
Avatar de alterWM  
Fecha de Ingreso: diciembre-2005
Mensajes: 8
Antigüedad: 18 años, 6 meses
Puntos: 0
Exclamación Respuesta: Transaccion SQL 2000 en ASP

Como es que puedo incluir dentro de un Procedimiento Almacenado (StoredProc) una Transaccion??
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 19:55.