SQL Server - error en parametro en SSIS

 
Vista:

error en parametro en SSIS

Publicado por heango (2 intervenciones) el 30/03/2009 23:47:10
Amigos, favor su ayuda:

Tengo en SSIS, una tarea de ejecutar SQL, la cual recibe como parametro lo siguiente:

NONBRE VARIABLE Dirección Tipo de Datos Nombre del PArametro
=================== ======== =========== ==================
Usuario::pareSegmento Input NVARCHAR 0

y ejecuta un procedimiento almacenado con el siguiente script:


use Cuotas_54

DECLARE @RC int
DECLARE @i_operacion char(1)
DECLARE @i_tipo_registro char(1)
DECLARE @i_segmento varchar(2)
DECLARE @i_secuencial numeric(20,0)
DECLARE @o_mensaje varchar(255)

SELECT @i_operacion = 'M'
SELECT @i_tipo_registro = '0'
SELECT @i_segmento = 0
SELECT @i_secuencial = NULL
SELECT @o_mensaje = NULL
EXEC @RC = [cp_descargatxcuotas1] @i_operacion, @i_tipo_registro, @i_segmento, @i_secuencial, @o_mensaje OUTPUT

SELECT @RC AS 'Retorno',
isnull(@o_mensaje, '') as 'mensaje'

se ejecuta sin problemas, pero cuando reviso el resultado del update que ejecuto el SP, dejo almacenado un cero (0), debiendome haber almacenado una fecha que venia como parametro.

donde tengo el error??? o el paso de parametros de esta forma solo sirve para select???
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
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

RE:error en parametro en SSIS

Publicado por Isaias (4558 intervenciones) el 31/03/2009 07:01:58
¿Que hace cp_descargatxcuotas1?
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:error en parametro en SSIS

Publicado por heango (2 intervenciones) el 31/03/2009 16:29:05
ALTER procedure [dbo].[cp_actualizafechaproceso] (
@i_fecha_proceso varchar(8),
@i_segmento varchar(8),
@o_mensaje varchar(255) OUT
) AS BEGIN -- cp_actualizafechaproceso

SET @o_mensaje = ''

IF EXISTS(SELECT cod_parametro FROM parametros_generales
WHERE cod_parametro = 'PAR_FECHA_PROCESO')
BEGIN

UPDATE parametros_generales
SET val_parametro = @i_fecha_proceso
WHERE cod_parametro = 'PAR_FECHA_PROCESO'
IF (@@error <> 0) BEGIN
SET @o_mensaje = 'cp_actualizafechaproceso - E: UPDATE parametros_generales WHERE cod_parametro[PAR_FECHA_PROCESO]'
RETURN 1
END -- IF
RETURN 0
END
ELSE BEGIN
SET @o_mensaje = 'cp_actualizafechaproceso - E: SELECT FROM parametros_generales WHERE cod_parametro[PAR_FECHA_PROCESO]'
RETURN 1
END -- IF

IF EXISTS(SELECT cod_parametro FROM Tbl_prmGeneralOrganizacion
WHERE cod_organizacion IN (SELECT cod_organizacion FROM dbo.tmpOrganizacion WHERE (segmento = @i_segmento))
AND cod_parametro = 'PAR_FECHA_PROCESO')
BEGIN

IF EXISTS(SELECT cod_parametro FROM Tbl_prmGeneralOrganizacion
WHERE cod_organizacion IN (SELECT cod_organizacion FROM dbo.tmpOrganizacion WHERE (segmento = @i_segmento))
and cod_parametro = 'PAR_FECHA_PROCESO'
and val_parametro = @i_fecha_proceso)
BEGIN
SET @o_mensaje = 'cp_actualizafechaproceso - E: PROCESO YA FUE EJECUTADO CON FECHA_PROCESO[' + @i_fecha_proceso + ']'
RETURN 1
END -- IF
--
UPDATE Tbl_prmGeneralOrganizacion
SET val_parametro = @i_fecha_proceso
WHERE cod_organizacion IN (SELECT cod_organizacion FROM dbo.tmpOrganizacion WHERE (segmento = @i_segmento))
AND cod_parametro = 'PAR_FECHA_PROCESO'
IF (@@error <> 0) BEGIN
SET @o_mensaje = 'cp_actualizafechaproceso - E: UPDATE Tbl_prmGeneralOrganizacion WHERE cod_parametro[PAR_FECHA_PROCESO]'
RETURN 1
END -- IF
RETURN 0
END
ELSE BEGIN
SET @o_mensaje = 'cp_actualizafechaproceso - E: SELECT FROM Tbl_prmGeneralOrganizacion WHERE cod_parametro[PAR_FECHA_PROCESO]'
RETURN 1
END -- IF
RETURN 0
END -- cp_actualizafechaproceso
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