SQL Server - Stored Procedure con distinto resultado si ejecuta mediante xp_cmdshell

   
Vista:

Stored Procedure con distinto resultado si ejecuta mediante xp_cmdshell

Publicado por Cesar (1 intervención) el 08/05/2014 21:48:19
Hola a todos, espero puedan ayudarme con lo siguiente.

Tengo un Stored Procedure cuyo contenido es una llamada a xp_cmdshell:

1
2
3
4
5
6
7
8
9
10
11
12
CREATE PROCEDURE spuPrincipal
AS
	BEGIN
		SET NOCOUNT ON
 
		DECLARE @llamadaspu varchar(210)
		DECLARE @rutaarchivotxt varchar(80)
		SELECT @rutaarchivotxt=rutatxt FROM parametro
		SET @llamadaspu = 'bcp "EXEC BD..spuSecundario" queryout '+@rutaarchivotxt+'archivo.txt -c -T -S(local)\SQLMMVIII'
		EXEC master..xp_cmdshell @llamadaspu
 
	END

El contenido de spuSecundario incluye un SELECT (cuyo resultado será incluido en archivo.txt) y además hace un INSERT (que registra en la tabla logproceso el id del primer y ultimo registro del SELECT previo). Si puedo generar el archivo de texto pero de momento el INSERT nunca se dá en la tabla logproceso. El INSERT solamente se dá si ejecuto directamente spuSecundario.

Espero puedan ayudarme.

Saludos.
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
Imágen de perfil de Isaias

Stored Procedure con distinto resultado si ejecuta mediante xp_cmdshell

Publicado por Isaias (3180 intervenciones) el 09/05/2014 00:04:13
Te sugiero que antes de mandar a ejecutar nada, hagas un

PRINT @llamadaspu

Y revises que estructura te esta dando
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
Imágen de perfil de Miguel

Stored Procedure con distinto resultado si ejecuta mediante xp_cmdshell

Publicado por Miguel (1 intervención) el 09/05/2014 15:13:29
Hola,
Para tener mas detalles del 'posible' problema, imprime por pantalla el resultado retornado por el comando xp_...

aca un ejemplo:

1
2
3
4
5
6
7
8
9
EXEC sp_configure 'show advanced options', 1
RECONFIGURE
EXEC sp_configure 'xp_cmdshell', 1
RECONFIGURE
 
DECLARE @VC_RESULT_CMD VARCHAR(MAX)
EXEC @VC_RESULT_CMD=master..xp_cmdshell 'dir'
 
PRINT @VC_RESULT_CMD


Saludos,
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
Imágen de perfil de Isaias

Stored Procedure con distinto resultado si ejecuta mediante xp_cmdshell

Publicado por Isaias (3180 intervenciones) el 09/05/2014 18:52:40
¿Y que dije yo?
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

Stored Procedure con distinto resultado si ejecuta mediante xp_cmdshell

Publicado por miguel (14 intervenciones) el 10/05/2014 15:49:10
Buenos dias don isaias,
si pones mas atencion a lo q escribi notaras la diferencia y el aporte agregado.


saludos, feliz sabado.
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