De antemano agardezco cualquier ayuda que me puedan brindar.
Resulta que yo estoy realizando el siguiente procedimiento:
Código:
Este procedimiento me funciona correctamente en el servidor Web pero en mi equipo al realizar una migraciónde mi aplicación a 2005 resulta que no me funciona y me saca el siguiente error:CREATE TABLE #Fechas (Fechas VARCHAR(10) NOT NULL) DECLARE @i INT DECLARE @FechaIng VARCHAR(10) SET @i = "0" WHILE @i <= 30--se calculan hasta 30 días BEGIN SET @FechaIng = CONVERT(VARCHAR(10),DATEADD(DAY,@i,GETDATE()),103) INSERT INTO #Fechas (Fechas) SELECT @FechaIng SET @i = @i + 1 END DECLARE Fecha_Cursor CURSOR FOR (SELECT CONVERT(VARCHAR(10), FechaPrestamoReserva,103) AS FechaPrestamoReserva, CONVERT(VARCHAR(10),FechaEntrega,103) AS FechaEntrega --EJEMPLAR RESERVADO FROM Servicios WHERE CodigoAcceso = "0003032" AND FechaDevolucion IS NULL AND FechaCancelacion IS NULL AND FechaPrestamoReserva IS NOT NULL) UNION (SELECT CONVERT(VARCHAR(10), FechaPrestamo,103) , CONVERT(VARCHAR(10), FechaEntrega,103) --EJEMPLAR PRESTADO FROM Servicios WHERE CodigoAcceso = "0003032" AND FechaDevolucion IS NULL AND FechaCancelacion IS NULL AND FechaPrestamo IS NOT NULL ) DECLARE @FechaPrestamoR VARCHAR(10) DECLARE @FechaEntre VARCHAR(10) OPEN Fecha_Cursor FETCH NEXT FROM Fecha_Cursor INTO @FechaPrestamoR, @FechaEntre WHILE @@FETCH_STATUS = 0 BEGIN--Elimina los rangos de días que esta o será prestado el ejemplar DELETE FROM #Fechas WHERE CONVERT(DATETIME,#Fechas.Fechas,103) BETWEEN CONVERT(DATETIME,@FechaPrestamoR,103) AND DATEADD(DAY,-1,CONVERT(DATETIME,@FechaEntre,103)) FETCH NEXT FROM Fecha_Cursor INTO @FechaPrestamoR, @FechaEntre END CLOSE Fecha_Cursor DEALLOCATE Fecha_Cursor DELETE FROM #Fechas WHERE datepart(dw, Fechas) = "7" --Elimina los domingo de la fechas disponibles DELETE FROM #Fechas WHERE datepart(dw, Fechas) = "6" --Elimina los sábados de la fechas disponibles DELETE FROM #Fechas WHERE Fechas in (SELECT Festivo FROM Festivos) --Elimina los dias festivos SELECT Fechas --da como resultado las fechas disponibles d reserva FROM #Fechas GO
The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.
The statement has been terminated.
en 3 líneas del procedimiento
Lo que es raro para mi es que anteriormente funcionaba pero ahora no quiere funcionar le cambie en los convert de 103 o 112 y el procedimiento funciona pero cuando voy a convertir los valores que me arroja a DateTime en la aplicación me dice que no reconoce el formato de fecha cómo valido.
Muchas gracias por toda la ayuda que me puedan brindar. Espero haber sido clara en la explicación de mi problema