ODBC e Procedemento Almacenado

Hoxe tiven que poñerme a mirar como executar un procedemento almacenado nunha bbdd Oracle dende un ODBC para un proxecto no que ando metido no chollo, a verdade é que é moi sinxeolo e so fai falla mirar un pouco a axuda e aplicar a lóxica.

De entrada para executar un procedemento almacenado dende SQL Plus o único que tes que facer é poñer

exec nom_stored_procedure([param1,param2, ...])

e xa vai, se queres executar unha función o único que teríamos que facer é executar unha consulta contra a táboa virtual dual

SELECT function([param1, param2, ....])
FROM DUAL;

Pero se o que queremos é executalo dende un acceso ODBC a cousa cambia, se executamos a primeira maneira o resultado é o seguinte



Mirando a axuda do ODBC dinos que temos que executar a sentencia entre corchetes e chamar a función cun call en troques de cun exec, tal que así

{call nom_stored_procedure([param1, param2, ....])}

Se o facemos así xa non temos erro, o que pasa é que non se executa o procedemento almacenado co que tampouco nos serve, dándolle un pouco á cachola pensei que se ía entre corchetes tal vez sería porque agardaba que algo chamara a esa sentencia, velaí estaba

exec {call nom_stored_procedure([param1, param2, ....])}

Así si, agora si que se executou o procedemento almacenado, cando menos curioso

Agardo que lle sirva a alguén e non teña que perder esas dúas horas que eu perdín buscando a solución

No hay comentarios: