¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Como passar uma variável para o procedimento armazenado em um pacote SSIS

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

Prezados

Temos um pacote SSIS com uma tarefa de fluxo de dados. Existe uma fonte OLEDB que usa o modo de acesso aos dados como comando SQL. Utilizamos uma fonte de dados OLEDB em vez de uma tarefa de execução SQL, pois a saída é um formato de tabela gerado em um procedimento armazenado que é usado na próxima tarefa.

Essa tarefa chama um procedimento armazenado com um parâmetro de entrada que será o nome do conjunto de aplicativos. [EXEC ProcName '@BPCAPPSET']

O procedimento armazenado é executado corretamente sem problemas. Mas quando passo uma variável que contém o nome do conjunto de aplicativos para esse procedimento armazenado, ele não o reconhece corretamente e o pacote é concluído com sucesso.

A variável é "BPCAPPSET", contendo o nome do conjunto de aplicativos que será obtido do frontend.

No entanto, para testar se esse valor é reconhecido pelo procedimento armazenado ou não, tentei codificar e passar o nome do conjunto de aplicativos para o procedimento armazenado, ou seja, executar ProcName Appset1.

Appset1 é um conjunto de aplicativos existente. Funcionou bem. Mas queremos colocar esse pacote em todos os ambientes, para que sempre que for acionado, ele pegará o conjunto de aplicativos como parâmetro e realizará o cálculo no procedimento armazenado.

Por favor, aconselhe como passar essa variável para o procedimento armazenado.

Saudações

Prasad

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

4 Respuestas

0
Cargando...

Olá
Obrigado por responder. Aqui está meu script dinâmico avançado. Aqui %Appset% é a variável que está sendo passada para
SSIS. Eu sou apenas BPC 7.5. Quando uso esta variável para passá-la a uma stored procedure, ela não reconhece esta
variável e diz que é necessário definir uma variável 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...

Olá Prasad,

Não conheço a tarefa ole db, talvez você esteja na versão 10 (eu estou trabalhando na 7.5 e a variável de sistema para appset no BPC é simplesmente %APPSET%), mas se @bpcappset for sua variável de sistema, tente configurar no pacote do BPC uma variável global

GLOBAL (MYAPPSET, %BPCAPPSET%) depois você pode usá-lo em sua instrução exec

EXEC ProcName @MYAPPSET

Saudações

Roberto

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

Olá Roberto

Obrigado pelo seu e-mail.

Eu tentei, mas estou recebendo um erro que diz que a variável escalar @BPCAPPSET deve ser definida.

Acredito que @BPCAPPSET seja uma variável definida pelo sistema que será passada do pacote do administrador de dados. Pode ser essa a razão pela qual não reconhece essa variável?

Se for o caso, devo definir uma variável no SSIS? Como podemos atribuir o valor de @BPCAPPSET à variável recém-definida?

Por favor, aconselhe. Captura de tela anexada.

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

Olá Prasad,
para passar parâmetros ao procedimento armazenado, você deve escrever da seguinte forma

EXEC ProcName @BPCAPPSET no

EXEC ProcName ' '@BPCAPPSET' @BPCAPPSET '

Saudações

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?