IMPORTANTE: esta documentação foi descontinuada. Leia a documentação Stored Procedure atualizada no nosso novo portal de documentação.
O Stored Procedure realiza operações através de uma conexão com um banco de dados e retorna dados de procedimento como um único objeto de JSON.
IMPORTANTE: cuidado com o consumo de memória para datasets grandes. BLOB e CLOB ainda não são suportados.
Dê uma olhada nos parâmetros de configuração do componente:
Account: conta a ser utilizada pelo componente.
Database URL: string de conexão ao banco de dados.
SQL Statement: instrução SQL a ser executada.
Fail On Error: se a opção estiver habilitada, a execução do pipeline com erro será interrompida; do contrário, a execução do pipeline continua, mas o resultado vai mostrar um valor falso para a propriedade "success".
Keep Connections: se ativada, a opção vai manter as conexões com a base de dados por no máximo 30 minutos; do contrário, será por apenas 5 minutos.
Advanced: configurações avançadas.
Connection Test Query: instrução SQL a ser utilizada antes que cada conexão seja estabelecida - esse parâmetro é opcional e deve ser aplicado a bancos de dados que não possuem informações confiáveis sobre o status da conexão.
Fluxo de Mensagens
Entrada
{
"parameters": {
"variable1": "value"
}
}
:?{in;variable1}
in: tipo de parâmetro (obrigatório)
variable1: nome da variável que veio com a entrada de JSON no corpo da solicitação (obrigatório)
Exemplo
Digamos que você queira realizar uma chamada a um procedimento com um parâmetro de entrada (Oracle, MySql, etc.):
call proc (:?{in; variable})
SQL Server:
exec proc :?{in; variable}
IMPORTANTE: ainda não é possível configurar o tipo IN (VARCHAR, FLOAT, INTEGER, etc.).
Saída
:?{out;propertyToOutput;Type;java_type_library}
out: tipo de parâmetro (obrigatório)
propertyToOutput: nome da propriedade que o componente mostrará no resultado (obrigatório)
Tipo: CURSOR, VARCHAR, NUMERIC, FLOAT, etc. (obrigatório)
java_type_library: caso você precise utilizar um procedimento em que OUT seja um Oracle CURSOR, será necessário especificar a seguinte Biblioteca: oracle.jdbc.OracleTypes (opcional)
Exemplo
Digamos que você queira realizar uma chamada a um procedimento com um parâmetro de entrada e saída (Oracle, MySql, etc.):
call proc (:?{in; variable}, :?{out; nameResultOut;VARCHAR})
SQL Server
exec proc :?{in; variable}, :?{out; nameResultOut;VARCHAR}
INOUT
:?{in; variable|out;propertyToOutput;Type;java_type_library}
in: tipo de parâmetro (obrigatório)
variable1: nome da variável que veio com a entrada de JSON no corpo da solicitação (obrigatório)
out: tipo de parâmetro (obrigatório)
propertyToOutput: nome da propriedade que o componente mostrará no resultado (obrigatório)
Tipo: CURSOR, VARCHAR, NUMERIC, FLOAT, etc. (obrigatório)
java_type_library: caso você precise utilizar um procedimento em que OUT seja um Oracle CURSOR, será necessário especificar a seguinte Biblioteca: oracle.jdbc.OracleTypes (opcional)
propertyToOutput: the property's name that this connector will show in the result (mandatory)
Exemplo
Digamos que você queira realizar uma chamada a um procedimento com um parâmetro de entrada e saída (Oracle, MySql, etc.):
call proc (:?{in; variable|out; nameResultOut;VARCHAR})
SQL Server
exec proc :?{in; variable|out; nameResultOut;VARCHAR}
Entrada
O componente espera uma mensagem no seguinte formato:
{
"parameters": {
"name": "value"
...
}
}
Saída
{
"out": {
"rs-1": [
{
"column1": "admin",
"column2": 1
},
{
"column1": "jose",
"column2": 2
}
]
},
"success": true
}
Saída com erro
{
"success": false,
"error": error_message,
"message": cause_of_the_error
}