SQL Server - Problemas con prodecedimiento

   
Vista:

Problemas con prodecedimiento

Publicado por Kelly (9 intervenciones) el 07/03/2008 15:56:35
Hola a todos!
De antemano agardezco cualquier ayuda que me puedan brindar.
Resulta que yo estoy realizando el siguiente procedimiento:
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
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:
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
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

RE:Problemas con prodecedimiento

Publicado por kdlc (57 intervenciones) el 13/03/2008 06:13:38
Fijate que Setting regional tienen en el servidor web y el Setting regional que tiene tu equipo ... me refiero que por ejemplo que en America del Sur las Fechas son DD/MM/YYYY donde DD = dia, MM = mes , YYYY= año
en otros lugares como Estados Unidos las fechas son
MM/DD/YYYY por lo cual al convertir campos datetime da un error de conversion.

Revisa eso y me dejas saber ... Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con prodecedimiento

Publicado por Verónica (3 intervenciones) el 14/03/2008 16:01:40
Debes de configurar el formato de la fecha en el Panel de control de tú equipo, de la misma forma como que si estuvieras trabajando con el servidor.

Espero que se solucione tu problema.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con prodecedimiento

Publicado por ariel (1 intervención) el 31/05/2008 19:21:02
che man me matastes de q estas hablando se puede saber
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con prodecedimiento

Publicado por JUlio miranda (1 intervención) el 24/06/2008 16:35:11
Que significa que cambies de 103 a 112?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar