error en trabajo sql server 2000

30/10/2006 - 12:53 por DarthSidious | Informe spam
buenos dias, tengo un trabajo en un sql server 2000 que nunca se ejecuta
porque da error. El problema es que si yo ejecuto el paquete a mano, se
ejecuta bien, pero si ejecuto el trabajo programado para ese paquete da
error. El error que da es el siguiente:

DTSRun: Loading... DTSRun: Executing... DTSRun OnStart:
DTSStep_DTSExecuteSQLTask_1 DTSRun OnError: DTSStep_DTSExecuteSQLTask_1,
Error = -2147217913 (80040E07) Error string: The statement has been
terminated. Error source: Microsoft OLE DB Provider for SQL Server
Help file: Help context: 0 Error Detail Records: Error:
-2147217913 (80040E07); Provider Error: 3621 (E25) Error string: The
statement has been terminated. Error source: Microsoft OLE DB Provider
for SQL Server Help file: Help context: 0 Error:
-2147217913 (80040E07); Provider Error: 242 (F2) Error string: The
conversion of a char data type to a datetime data type resulted in an
out-of-range datetime value. Error source: Microsoft OLE DB Provider
for SQL Server Help file: Help context: 0 DTSRun OnFinish:
DTSStep_DTSExecuteSQLTask_1 DTSRun: Package execution complete. Process
Exit Code 1. The step failed.

alguna idea de que puede fallar? El sql 2000 esta en ingles, puede ser eso
un problema??? porque ese trabajo ejecuta un paquete que contiene un stored
procedure que fue migrado desde otro servidor donde estaba todo en español,
quiza los formatos de fecha o hora causen algun problema, aunque no deberia
porque la estructura de las tablas es la misma, ya que se migro el servidor
entero
Bueno cualquier ayuda se agradece,
desde ya muchas gracias!

Preguntas similare

Leer las respuestas

#6 Alejandro Mesa
30/10/2006 - 19:32 | Informe spam
DarthSidious,

Hagamos una prueba, ve al Query Analyzer y crea tres conxiones, una con la
cuenta que usastes cuando ejecutastes el sp directamente, otra conexion con
la cuenta que es usada en el paquete DTS para establecer la conexion con el
servidor y una ultima conexion con la cuenta usada por el servicio SQL Server
Agent. Ejecuta el siguiente comando en cada una de las conexiones y chequea
los valores de las opciones "language" y "dateformat" de las tres conexiones,
ve si estan son iguales.

dbcc useroptions


Lo otro a chequear seria con que formato le estas pasando la fecha al sp en
el paquete DTS?


AMB

"DarthSidious" wrote:

buenos dias, si ejecuto el stored procedure directamente desde el analizador
de consulta no tengo problemas, el problema es el descripto antes cuando
programo el paquete o ejecuto el paquete directamente. El codigo del sp seria
el siguiente:


DECLARE @Fecha datetime
DECLARE @tempupdate nvarchar(4000)
DECLARE @FechaAnt datetime
DECLARE @cmd sysname

BEGIN

SET @Fecha=getdate()
SET @FechaAnt=getdate()-1

set @Suma1 = 0.00
set @CantSuma1 = 0

SELECT @Suma1 = SUM(Monto)
FROM vwTblOpercard
WHERE (FechaCierre = convert(varchar,@Fecha,112)) AND (Caja = '025' OR
Caja = '030' OR Caja = '032')


SELECT @CantSuma1 = COUNT(*)
FROM vwTblOpercard
WHERE (FechaCierre = convert(varchar,@Fecha,112)) AND (Caja = '025' OR
Caja = '030' OR Caja = '032')

set @temp = N'SELECT @Suma2temp = SUM(cast(Importe_Fact AS numeric(10,2)))
FROM ( SELECT TOP '+ cast(@CantSuma1 as nvarchar) +N' *
FROM Transacciones
WHERE ((FechaCierre IS NULL) AND ((CodEnte = ''001'') OR
(CodEnte = ''002'') OR (CodEnte = ''030'')))
ORDER BY Fecha_Pago, Hora_Pago)DERIVEDTBL'



EXEC sp_executesql @temp,N'@Suma2temp numeric(10,2) OUTPUT, @CantSuma1
int',@Suma2temp OUTPUT,@CantSuma1


SET @cmd = 'echo ' + @var1 + ' >
c:\logcheck\'+convert(varchar,@Fecha,112)+'RENTAS_log.txt'
EXEC master..xp_cmdshell @cmd, NO_OUTPUT

if(ISNUMERIC(@Suma1)=0)
set @Suma1 = 0.00

if(ISNUMERIC(@Suma2temp)=0)
set @Suma2temp = 0.00


SET @cmd = 'echo ' + @var2 + ' >>
c:\logcheck\'+convert(varchar,@Fecha,112)+'R_log.txt'
EXEC master..xp_cmdshell @cmd, NO_OUTPUT
SET @cmd = 'echo ' + @var3 + ' >>
c:\logcheck\'+convert(varchar,@Fecha,112)+'R_log.txt'
EXEC master..xp_cmdshell @cmd, NO_OUTPUT
SET @cmd = 'echo ' + @var4 + ' >>
c:\logcheck\'+convert(varchar,@Fecha,112)+'R_log.txt'
EXEC master..xp_cmdshell @cmd, NO_OUTPUT
SET @cmd = 'echo ' + @var5 + ' >>
c:\logcheck\'+convert(varchar,@Fecha,112)+'R_log.txt'
EXEC master..xp_cmdshell @cmd, NO_OUTPUT
SET @cmd = 'echo ' + @var1 + ' >>
c:\logcheck\'+convert(varchar,@Fecha,112)+'R_log.txt'
EXEC master..xp_cmdshell @cmd, NO_OUTPUT

END
GO

/*************************************/

GRACIAS!!!


"Alejandro Mesa" wrote:

> DarthSidious,
>
> Por que no posteas el codigo del sp?
>
> Revisa a ver si este sp esta usando alguna constante de fecha,
> especificamente cual es el formato que usa?.
>
>
> AMB
>
>
> "DarthSidious" wrote:
>
> > en las propiedades del trabajo, como propietario figura un usuario que es
> > administrador de la base de datos lo puse para probar pero sigue dando el
> > mismo error, y con respecto a la fecha, donde me fijo eso? yo programo el
> > paquete y decido que se ejecute todos los dias a una X hora, pero no hay nada
> > mas para configurar con respecto a formatos de hora y fecha...
> >
> > gracias!!!
> >
> > "Maxi" wrote:
> >
> > > Hola, fijate el usuario que esta ejecutando el paquete en el job y revisa
> > > que tipo de idioma tiene, porque el error que te esta dando es por fuera de
> > > rango de fechas
> > >
> > >
> > > Salu2
> > >
> > > Microsoft MVP SQL Server
> > > Culminis Speaker
> > > INETA Speaker
> > >
> > > "DarthSidious" escribió en el
> > > mensaje news:
> > > > buenos dias, tengo un trabajo en un sql server 2000 que nunca se ejecuta
> > > > porque da error. El problema es que si yo ejecuto el paquete a mano, se
> > > > ejecuta bien, pero si ejecuto el trabajo programado para ese paquete da
> > > > error. El error que da es el siguiente:
> > > >
> > > > DTSRun: Loading... DTSRun: Executing... DTSRun OnStart:
> > > > DTSStep_DTSExecuteSQLTask_1 DTSRun OnError:
> > > > DTSStep_DTSExecuteSQLTask_1,
> > > > Error = -2147217913 (80040E07) Error string: The statement has been
> > > > terminated. Error source: Microsoft OLE DB Provider for SQL Server
> > > > Help file: Help context: 0 Error Detail Records: Error:
> > > > -2147217913 (80040E07); Provider Error: 3621 (E25) Error string:
> > > > The
> > > > statement has been terminated. Error source: Microsoft OLE DB
> > > > Provider
> > > > for SQL Server Help file: Help context: 0 Error:
> > > > -2147217913 (80040E07); Provider Error: 242 (F2) Error string: The
> > > > conversion of a char data type to a datetime data type resulted in an
> > > > out-of-range datetime value. Error source: Microsoft OLE DB Provider
> > > > for SQL Server Help file: Help context: 0 DTSRun
> > > > OnFinish:
> > > > DTSStep_DTSExecuteSQLTask_1 DTSRun: Package execution complete.
> > > > Process
> > > > Exit Code 1. The step failed.
> > > >
> > > > alguna idea de que puede fallar? El sql 2000 esta en ingles, puede ser eso
> > > > un problema??? porque ese trabajo ejecuta un paquete que contiene un
> > > > stored
> > > > procedure que fue migrado desde otro servidor donde estaba todo en
> > > > español,
> > > > quiza los formatos de fecha o hora causen algun problema, aunque no
> > > > deberia
> > > > porque la estructura de las tablas es la misma, ya que se migro el
> > > > servidor
> > > > entero
> > > > Bueno cualquier ayuda se agradece,
> > > > desde ya muchas gracias!
> > >
> > >
> > >
Respuesta Responder a este mensaje
#7 afbueno
31/10/2006 - 14:04 | Informe spam
Darth Siduos,

Intenta corre el sp en el servidor, con el Query analyser (autenticado
con el usuario con que se lanza el sql server agente), si esto
funciona, debería de funcionar, sino ya tiene el error con que buscar.



Alejandro Mesa wrote:
DarthSidious,

Hagamos una prueba, ve al Query Analyzer y crea tres conxiones, una con la
cuenta que usastes cuando ejecutastes el sp directamente, otra conexion con
la cuenta que es usada en el paquete DTS para establecer la conexion con el
servidor y una ultima conexion con la cuenta usada por el servicio SQL Server
Agent. Ejecuta el siguiente comando en cada una de las conexiones y chequea
los valores de las opciones "language" y "dateformat" de las tres conexiones,
ve si estan son iguales.

dbcc useroptions


Lo otro a chequear seria con que formato le estas pasando la fecha al sp en
el paquete DTS?


AMB

"DarthSidious" wrote:

> buenos dias, si ejecuto el stored procedure directamente desde el analizador
> de consulta no tengo problemas, el problema es el descripto antes cuando
> programo el paquete o ejecuto el paquete directamente. El codigo del sp seria
> el siguiente:
>
>
> DECLARE @Fecha datetime
> DECLARE @tempupdate nvarchar(4000)
> DECLARE @FechaAnt datetime
> DECLARE @cmd sysname
>
> BEGIN
>
> SET @Fecha=getdate()
> SET @FechaAnt=getdate()-1
>
> set @Suma1 = 0.00
> set @CantSuma1 = 0
>
> SELECT @Suma1 = SUM(Monto)
> FROM vwTblOpercard
> WHERE (FechaCierre = convert(varchar,@Fecha,112)) AND (Caja = '025' OR
> Caja = '030' OR Caja = '032')
>
>
> SELECT @CantSuma1 = COUNT(*)
> FROM vwTblOpercard
> WHERE (FechaCierre = convert(varchar,@Fecha,112)) AND (Caja = '025' OR
> Caja = '030' OR Caja = '032')
>
> set @temp = N'SELECT @Suma2temp = SUM(cast(Importe_Fact AS numeric(10,2)))
> FROM ( SELECT TOP '+ cast(@CantSuma1 as nvarchar) +N' *
> FROM Transacciones
> WHERE ((FechaCierre IS NULL) AND ((CodEnte = ''001'') OR
> (CodEnte = ''002'') OR (CodEnte = ''030'')))
> ORDER BY Fecha_Pago, Hora_Pago)DERIVEDTBL'
>
>
>
> EXEC sp_executesql @temp,N'@Suma2temp numeric(10,2) OUTPUT, @CantSuma1
> int',@Suma2temp OUTPUT,@CantSuma1
>
>
> SET @cmd = 'echo ' + @var1 + ' >
> c:\logcheck\'+convert(varchar,@Fecha,112)+'RENTAS_log.txt'
> EXEC master..xp_cmdshell @cmd, NO_OUTPUT
>
> if(ISNUMERIC(@Suma1)=0)
> set @Suma1 = 0.00
>
> if(ISNUMERIC(@Suma2temp)=0)
> set @Suma2temp = 0.00
>
>
> SET @cmd = 'echo ' + @var2 + ' >>
> c:\logcheck\'+convert(varchar,@Fecha,112)+'R_log.txt'
> EXEC master..xp_cmdshell @cmd, NO_OUTPUT
> SET @cmd = 'echo ' + @var3 + ' >>
> c:\logcheck\'+convert(varchar,@Fecha,112)+'R_log.txt'
> EXEC master..xp_cmdshell @cmd, NO_OUTPUT
> SET @cmd = 'echo ' + @var4 + ' >>
> c:\logcheck\'+convert(varchar,@Fecha,112)+'R_log.txt'
> EXEC master..xp_cmdshell @cmd, NO_OUTPUT
> SET @cmd = 'echo ' + @var5 + ' >>
> c:\logcheck\'+convert(varchar,@Fecha,112)+'R_log.txt'
> EXEC master..xp_cmdshell @cmd, NO_OUTPUT
> SET @cmd = 'echo ' + @var1 + ' >>
> c:\logcheck\'+convert(varchar,@Fecha,112)+'R_log.txt'
> EXEC master..xp_cmdshell @cmd, NO_OUTPUT
>
> END
> GO
>
> /*************************************/
>
> GRACIAS!!!
>
>
> "Alejandro Mesa" wrote:
>
> > DarthSidious,
> >
> > Por que no posteas el codigo del sp?
> >
> > Revisa a ver si este sp esta usando alguna constante de fecha,
> > especificamente cual es el formato que usa?.
> >
> >
> > AMB
> >
> >
> > "DarthSidious" wrote:
> >
> > > en las propiedades del trabajo, como propietario figura un usuario que es
> > > administrador de la base de datos lo puse para probar pero sigue dando el
> > > mismo error, y con respecto a la fecha, donde me fijo eso? yo programo el
> > > paquete y decido que se ejecute todos los dias a una X hora, pero no hay nada
> > > mas para configurar con respecto a formatos de hora y fecha...
> > >
> > > gracias!!!
> > >
> > > "Maxi" wrote:
> > >
> > > > Hola, fijate el usuario que esta ejecutando el paquete en el job y revisa
> > > > que tipo de idioma tiene, porque el error que te esta dando es por fuera de
> > > > rango de fechas
> > > >
> > > >
> > > > Salu2
> > > >
> > > > Microsoft MVP SQL Server
> > > > Culminis Speaker
> > > > INETA Speaker
> > > >
> > > > "DarthSidious" escribió en el
> > > > mensaje news:
> > > > > buenos dias, tengo un trabajo en un sql server 2000 que nunca se ejecuta
> > > > > porque da error. El problema es que si yo ejecuto el paquete a mano, se
> > > > > ejecuta bien, pero si ejecuto el trabajo programado para ese paquete da
> > > > > error. El error que da es el siguiente:
> > > > >
> > > > > DTSRun: Loading... DTSRun: Executing... DTSRun OnStart:
> > > > > DTSStep_DTSExecuteSQLTask_1 DTSRun OnError:
> > > > > DTSStep_DTSExecuteSQLTask_1,
> > > > > Error = -2147217913 (80040E07) Error string: The statement has been
> > > > > terminated. Error source: Microsoft OLE DB Provider for SQL Server
> > > > > Help file: Help context: 0 Error Detail Records: Error:
> > > > > -2147217913 (80040E07); Provider Error: 3621 (E25) Error string:
> > > > > The
> > > > > statement has been terminated. Error source: Microsoft OLE DB
> > > > > Provider
> > > > > for SQL Server Help file: Help context: 0 Error:
> > > > > -2147217913 (80040E07); Provider Error: 242 (F2) Error string: The
> > > > > conversion of a char data type to a datetime data type resulted in an
> > > > > out-of-range datetime value. Error source: Microsoft OLE DB Provider
> > > > > for SQL Server Help file: Help context: 0 DTSRun
> > > > > OnFinish:
> > > > > DTSStep_DTSExecuteSQLTask_1 DTSRun: Package execution complete.
> > > > > Process
> > > > > Exit Code 1. The step failed.
> > > > >
> > > > > alguna idea de que puede fallar? El sql 2000 esta en ingles, puede ser eso
> > > > > un problema??? porque ese trabajo ejecuta un paquete que contiene un
> > > > > stored
> > > > > procedure que fue migrado desde otro servidor donde estaba todo en
> > > > > español,
> > > > > quiza los formatos de fecha o hora causen algun problema, aunque no
> > > > > deberia
> > > > > porque la estructura de las tablas es la misma, ya que se migro el
> > > > > servidor
> > > > > entero
> > > > > Bueno cualquier ayuda se agradece,
> > > > > desde ya muchas gracias!
> > > >
> > > >
> > > >
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida