Problemas T-SQL con Enterprise manager

19/08/2005 - 09:53 por Jesus Suarez | Informe spam
Hola a todos, tengo un problema cuando uso el enterprise mananger en el
diseño de jobs (ejecuta un procedimiento), me produce el siguiente error,
pero si lanzo el procedure usando sql analizer no me da ningun problema

The conversion of a char data type to a datetime data type resulted in an
out-of-range datetime value. [SQLSTATE 22007] (Error 242) Associated
statement is not prepared [SQLSTATE HY007] (Error 0)

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
19/08/2005 - 14:53 | Informe spam
Jesus Suarez,

Puedes postear el codigo del procedimiento almacenado?


AMB

"Jesus Suarez" wrote:

Hola a todos, tengo un problema cuando uso el enterprise mananger en el
diseño de jobs (ejecuta un procedimiento), me produce el siguiente error,
pero si lanzo el procedure usando sql analizer no me da ningun problema

The conversion of a char data type to a datetime data type resulted in an
out-of-range datetime value. [SQLSTATE 22007] (Error 242) Associated
statement is not prepared [SQLSTATE HY007] (Error 0)



Respuesta Responder a este mensaje
#2 Jesus Suarez
19/08/2005 - 17:18 | Informe spam
este es:

CREATE PROCEDURE dbo.correos AS
declare @idaux numeric(10)
declare @idDemandante numeric(10)
declare @emailRemit varchar(100)
declare @nombreRemit varchar(50)
declare @cargo varchar(100)
declare @idoferta numeric(10)
declare @weborigen varchar(10)
declare @webaux as varchar(10)
declare @destinatario varchar(50)
declare @emaildest varchar(100)
declare @Asunto varchar(150)
declare @cuerpo varchar(4000)
declare @s_oferta varchar(4000)
declare @fecharecep varchar(20)
declare @cabecera varchar(4000)
declare @pie varchar(2000)
declare @perfil varchar(100)
declare @s_perfil varchar (1000)
declare @idperfil numeric(9)
select @s_oferta=""
select @s_perfil=""
declare cursor1 CURSOR for select distinct
idDemandante,weborigen,destinatario,emaildest from vw_ofertascorreos
open cursor1
fetch next from cursor1 into @idaux,@webaux,@destinatario,@emaildest
while @@fetch_status = 0
begin
declare cursor2 CURSOR for select distinct Perfil,idperfil from
vw_ofertascorreos where idDemandante=@idaux and weborigen=@webaux order by
perfil
open cursor2
fetch next from cursor2 into @perfil,@idperfil
while @@fetch_status = 0
begin
select @s_perfil="<table border=0 bordercolor=#000000><tr
bgcolor=#00C500 align=center><td>Ofertas correspondientes al perfil -
<strong>"+@perfil +"</strong></td></tr>"
select @s_oferta=@s_oferta + @s_perfil
declare cursor3 CURSOR for select distinct
idoferta,Remitente,cargovacante from vw_ofertascorreos where
idDemandante=@idaux and weborigen=@webaux and idperfil=@idperfil order by
idoferta desc
open cursor3
fetch next from cursor3 into @idoferta,@nombreRemit,@cargo
while @@fetch_status = 0
begin

select @s_oferta= @s_oferta + "<tr><td>&nbsp;</td></tr><tr><td><A
href='http://www." +@nombreRemit+ "/candiVerOferta.asp?cod=" +
cast(@idOferta as varchar(10))+ "'>" + @cargo +
"</a></td></tr><tr></td>http://www." +@nombreRemit+
"/candiVerOferta.asp?cod=" + cast(@idOferta as varchar(10))+
"</P></td></tr>"
fetch next from cursor3 into @idoferta,@nombreRemit,@cargo
end
close cursor3
deallocate cursor3
select @s_oferta=@s_oferta + "</table>"
end
close cursor2
deallocate cursor2
declare cursor3 CURSOR for select p.remitente,p.emailrem,t.asunto,
t.cabecera, t.pie from tblCorreosConfigPortales p, tblcorreosTexto t where
p.idtipo=t.idtipo and p.idtipo=1 and p.weborigen=@webaux
open cursor3
fetch next from cursor3 into
@nombreRemit,@emailremit,@asunto,@cabecera,@pie
while @@fetch_status = 0
begin
select @asunto=@asunto + @nombreRemit
select @cuerpo=@s_oferta
fetch next from cursor3 into
@nombreRemit,@emailremit,@asunto,@cabecera,@pie
end
close cursor3
deallocate cursor3
insert into
tblCorreos(idtipo,Remitente,emailRem,Asunto,Cuerpo,idestado,Destinatario,ema
ildest,FechaRecep,weborigen,cabecera,pie,idcontrol) values
(1,@nombreRemit,@emailremit,@asunto,@cuerpo,1,@destinatario,@emaildest,
convert(char(10),getdate(),103),@webaux,@cabecera,@pie,0)
select @s_oferta=""
fetch next from cursor1 into @idaux,@webaux,@destinatario,@emaildest
end
close cursor1
deallocate cursor1
GO

"Alejandro Mesa" escribió en el
mensaje news:
Jesus Suarez,

Puedes postear el codigo del procedimiento almacenado?


AMB

"Jesus Suarez" wrote:

> Hola a todos, tengo un problema cuando uso el enterprise mananger en el
> diseño de jobs (ejecuta un procedimiento), me produce el siguiente


error,
> pero si lanzo el procedure usando sql analizer no me da ningun problema
>
> The conversion of a char data type to a datetime data type resulted in


an
> out-of-range datetime value. [SQLSTATE 22007] (Error 242) Associated
> statement is not prepared [SQLSTATE HY007] (Error 0)
>
>
>
Respuesta Responder a este mensaje
#3 Alejandro Mesa
19/08/2005 - 18:24 | Informe spam
Jesus,

En el codigo tienes una sentencia insert en la cual conviertes la fecha /
tiempo actual con estilo 103. Por que haces eso?. Si quieres la fecha con
tiempo 00:00:00.000 entonces usa el estilo 112 que portable (no importa el
lenguaje o seteo de dateformat), sql server lo reconocera correctamente.
Seguramente sql server esta con un lenguaje diferente a "español". Puedes
verlo con @@language

Ejemplo:

select cast(convert(char(10),getdate(),103) as datetime)
go

obtengo el siguiente error:

Server: Msg 242, Level 16, State 3, Line 1
The conversion of a char data type to a datetime data type resulted in an
out-of-range datetime value.

pero si uso:

select cast(convert(char(10),getdate(),112) as datetime)
go

el resultado es:

2005-08-19 00:00:00.000

por lo que te aconsejo que cambies:

insert into
tblCorreos(idtipo,Remitente,emailRem,Asunto,Cuerpo,idestado,Destinatario,ema
ildest,FechaRecep,weborigen,cabecera,pie,idcontrol) values
(1,@nombreRemit,@emailremit,@asunto,@cuerpo,1,@destinatario,@emaildest,
convert(char(10),getdate(),103),@webaux,@cabecera,@pie,0)



por:

insert into tblCorreos (
idtipo,
Remitente,
emailRem,
Asunto,
Cuerpo,
idestado,
Destinatario,
emaildest,
FechaRecep,
weborigen,
cabecera,
pie,
idcontrol)
values (
1,
@nombreRemit,
@emailremit,
@asunto,
@cuerpo,
1,
@destinatario,
@emaildest,
convert(varchar(8),getdate(),112),
@webaux,
@cabecera,
@pie,
0
)


AMB

"Jesus Suarez" wrote:

este es:

CREATE PROCEDURE dbo.correos AS
declare @idaux numeric(10)
declare @idDemandante numeric(10)
declare @emailRemit varchar(100)
declare @nombreRemit varchar(50)
declare @cargo varchar(100)
declare @idoferta numeric(10)
declare @weborigen varchar(10)
declare @webaux as varchar(10)
declare @destinatario varchar(50)
declare @emaildest varchar(100)
declare @Asunto varchar(150)
declare @cuerpo varchar(4000)
declare @s_oferta varchar(4000)
declare @fecharecep varchar(20)
declare @cabecera varchar(4000)
declare @pie varchar(2000)
declare @perfil varchar(100)
declare @s_perfil varchar (1000)
declare @idperfil numeric(9)
select @s_oferta=""
select @s_perfil=""
declare cursor1 CURSOR for select distinct
idDemandante,weborigen,destinatario,emaildest from vw_ofertascorreos
open cursor1
fetch next from cursor1 into @idaux,@webaux,@destinatario,@emaildest
while @@fetch_status = 0
begin
declare cursor2 CURSOR for select distinct Perfil,idperfil from
vw_ofertascorreos where idDemandante=@idaux and weborigen=@webaux order by
perfil
open cursor2
fetch next from cursor2 into @perfil,@idperfil
while @@fetch_status = 0
begin
select @s_perfil="<table border=0 bordercolor=#000000><tr
bgcolor=#00C500 align=center><td>Ofertas correspondientes al perfil -
<strong>"+@perfil +"</strong></td></tr>"
select @s_oferta=@s_oferta + @s_perfil
declare cursor3 CURSOR for select distinct
idoferta,Remitente,cargovacante from vw_ofertascorreos where
idDemandante=@idaux and weborigen=@webaux and idperfil=@idperfil order by
idoferta desc
open cursor3
fetch next from cursor3 into @idoferta,@nombreRemit,@cargo
while @@fetch_status = 0
begin

select @s_oferta= @s_oferta + "<tr><td> </td></tr><tr><td><A
href='http://www." +@nombreRemit+ "/candiVerOferta.asp?cod=" +
cast(@idOferta as varchar(10))+ "'>" + @cargo +
"</a></td></tr><tr></td>http://www." +@nombreRemit+
"/candiVerOferta.asp?cod=" + cast(@idOferta as varchar(10))+
"</P></td></tr>"
fetch next from cursor3 into @idoferta,@nombreRemit,@cargo
end
close cursor3
deallocate cursor3
select @s_oferta=@s_oferta + "</table>"
end
close cursor2
deallocate cursor2
declare cursor3 CURSOR for select p.remitente,p.emailrem,t.asunto,
t.cabecera, t.pie from tblCorreosConfigPortales p, tblcorreosTexto t where
p.idtipo=t.idtipo and p.idtipo=1 and p.weborigen=@webaux
open cursor3
fetch next from cursor3 into
@nombreRemit,@emailremit,@asunto,@cabecera,@pie
while @@fetch_status = 0
begin
select @asunto=@asunto + @nombreRemit
select @cuerpo=@s_oferta
fetch next from cursor3 into
@nombreRemit,@emailremit,@asunto,@cabecera,@pie
end
close cursor3
deallocate cursor3
insert into
tblCorreos(idtipo,Remitente,emailRem,Asunto,Cuerpo,idestado,Destinatario,ema
ildest,FechaRecep,weborigen,cabecera,pie,idcontrol) values
(1,@nombreRemit,@emailremit,@asunto,@cuerpo,1,@destinatario,@emaildest,
convert(char(10),getdate(),103),@webaux,@cabecera,@pie,0)
select @s_oferta=""
fetch next from cursor1 into @idaux,@webaux,@destinatario,@emaildest
end
close cursor1
deallocate cursor1
GO

"Alejandro Mesa" escribió en el
mensaje news:
> Jesus Suarez,
>
> Puedes postear el codigo del procedimiento almacenado?
>
>
> AMB
>
> "Jesus Suarez" wrote:
>
> > Hola a todos, tengo un problema cuando uso el enterprise mananger en el
> > diseño de jobs (ejecuta un procedimiento), me produce el siguiente
error,
> > pero si lanzo el procedure usando sql analizer no me da ningun problema
> >
> > The conversion of a char data type to a datetime data type resulted in
an
> > out-of-range datetime value. [SQLSTATE 22007] (Error 242) Associated
> > statement is not prepared [SQLSTATE HY007] (Error 0)
> >
> >
> >



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida