Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/07/2003, 04:44
Cesark
 
Fecha de Ingreso: marzo-2003
Mensajes: 38
Antigüedad: 21 años, 1 mes
Puntos: 0
Busqueda Errores en SQL Server. ¿Como gestionarlos?

Estoy creando un website dinámico con Dreamweaver MX, lenguaje ASP VBScript, SQL 2000 Server y PWS como servidor de prueba. El site no está todavía en la red.

De momento ya tengo creadas las opciones y páginas principales. Casi todas las acciones que lleva a cabo el site con la base de datos lo hace con procedimientos almacenados en SQL Server que yo mismo he ido creando con la ayuda de manuales y foros de discusión. Estos procedimientos me funcionan bien, así como las diferentes páginas del site, pero he oído hablar mucho de que hay que saber capturar los errores que me pueda devolver SQL Server y evitar que mi sitio se caiga. ¿Alguien podría explicarme de que va todo esto?.

No entiendo por qué tengo que saber capturar estos errores que, si llegaran a ocurrir, devolvería el mensaje de error en el navegador y el usuario intentaría otra vez la operación y listos, como he visto en muchos sites. Después tendría que averiguar yo por qué se dan estos errores y solucionarlo, o pedir ayuda a un administrador web experto . ¿O puedo yo evitar o minimizar esos errores de alguna forma?.

Tampoco entiendo por qué pueden llegar a darme errores los procedimientos almacenados, ahora me funcionan perfectamente. Si por ejemplo se introduce un e-mail que no existe en la BD, he programado en la pagina para que me dirija a otra pagina de error informando al usuario que el e-mail es incorrecto.

Gracias,

Ejemplo de un procedimiento almacenado de los que tengo:


CREATE PROCEDURE comprobar_mail_password_inscripcion

@Correo_electronico varchar(50), @Password char(10),
@Oferta_num int, @Data datetime, @Motivos_interes varchar(250)
As
Declare @Demandante_num int

If Exists(select Correo_electronico from Demandantes where Correo_electronico = @Correo_electronico
and Password = @Password)
begin

select @Demandante_num = Demandante_num
from Demandantes
where Correo_electronico = @Correo_electronico
and Password = @Password

select @Demandante_num AS Demandante_num, 1 AS Valor
INSERT INTO Inscripciones_en_ofertas (Oferta_num, Demandante_num, Data, Motivos_interes)
VALUES (@Oferta_num, @Demandante_num, @Data, @Motivos_interes)
end
else
begin
select 0 AS Valor
end