¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Cómo pasar una variable al procedimiento almacenado en un paquete SSIS

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 85 Vistas
0
Cargando...

Estimados

Tenemos un paquete SSIS en el que hay una tarea de flujo de datos. Hay una fuente OLEDB que utiliza el modo de acceso a datos como comando SQL. Utilizamos una fuente de datos OLEDB en lugar de una tarea de ejecución SQL, ya que la salida es un formato de tabla generado en un procedimiento almacenado que se utiliza en la siguiente tarea.

Esta tarea llama a un procedimiento almacenado con un parámetro de entrada que será el nombre del conjunto de aplicaciones. [EXEC ProcName '@BPCAPPSET']

El procedimiento almacenado se ejecuta correctamente sin problemas. Pero cuando paso una variable que contiene el nombre del conjunto de aplicaciones a ese procedimiento almacenado, no lo toma correctamente y el paquete finaliza exitosamente.

La variable es "BPCAPPSET", contiene el nombre del conjunto de aplicaciones que se tomará desde el frontend.

Sin embargo, para probar si este valor es tomado por el procedimiento almacenado o no, intenté codificar y pasar el nombre del conjunto de aplicaciones al procedimiento almacenado. es decir, ejecutar ProcName Appset1.

Appset1 es un conjunto de aplicaciones existente. Funcionó bien. Pero queremos poner este paquete en todos los entornos, de modo que cada vez que se active, tomará el conjunto de aplicaciones como parámetro y realizará el cálculo en el procedimiento almacenado.

Por favor, aconseje cómo pasar esta variable al procedimiento almacenado.

Saludos

Prasad

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Hola
Gracias por responder. Aquí está mi script dinámico avanzado. Aquí %Appset% es la variable que se está pasando a
SSIS. Soy solo BPC 7.5. Cuando uso esta variable para pasarla a un procedimiento almacenado, no reconoce esta
variable y dice que se necesita definir una variable escalar.

DEBUG(ON)

GLOBAL(BPCAPP,%APP%)
GLOBAL(BPCAPPSET,%APPSET%)
GLOBAL(BPCDATAPATH,%DATAPATH%)
GLOBAL(BPCDATAROOTPATH,%DATAROOTPATH%)
GLOBAL(BPCSQLSERVER,%SQLSERVER%\)
GLOBAL(BPCTEMPPATH,%TEMPPATH%)
GLOBAL(BPCUSER,%USER%)

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Prasad,

No conozco la tarea ole db, tal vez estés en la versión 10 (yo estoy trabajando en la 7.5 y la variable del sistema para appset en BPC es simplemente %APPSET%), pero si @bpcappset es tu variable de sistema, intenta configurar en el paquete de bpc una variable global

GLOBAL (MYAPPSET, %BPCAPPSET%) luego puedes usarlo en tu instrucción exec

EXEC ProcName @MYAPPSET

Saludos

Roberto

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Roberto

Gracias por tu correo.

He intentado, pero me sale un error que dice que la variable escalar @BPCAPPSET debe estar definida.

Creo que @BPCAPPSET es una variable definida por el sistema que será pasada desde el paquete del administrador de datos. ¿Puede ser esa la razón por la que no reconoce esta variable?

Si es así, ¿debería definir una variable en SSIS? ¿Cómo podemos asignar el valor de @BPCAPPSET a la variable recién definida?

Por favor, aconseja. Captura de pantalla adjunta.

BPC variable error.jpg
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Prasad,
para pasar parámetros al procedimiento almacenado debes escribir de esta forma

EXEC ProcName @BPCAPPSET no

EXEC ProcName ' '@BPCAPPSET' @BPCAPPSET '

Saludos

Roberto

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?