Hi,
I’m having an issue calling a stored function in my database from my application using ODBC. The application creates a prepared statement with the following string/text using SQLPrepare(): “{call my_function(?, ?, ?, ?)}” (where the fourth parameter is an out parameter). Then, it binds the parameters using SQLBindParameter() and specifying the correct data types. This is the function’s signature:
“my_function(in a integer, in b bigint, in c character varying, out d bigint)”.
However, when I execute the application, I get the following error:
ERROR: function my_function(integer, bigint, unknown) does not exist;
Why does it recognize the first two parameters correctly and not the third one? I’ve double checked everything including the binding of that parameter to make sure it’s the correct type (SQL_VARCHAR).
The details:
Language: C/C++
GCC: 4.8.5
ODBC driver manager: unixODBC 2.3.1
PostgreSQL: 9.4.5
PostgreSQL ODBC driver: psqlodbc-09.05.0400
OS: SLES 12-SP1
Sorry if this is a repeated question. I tried searching and couldn’t find a solution.
Any help is greatly appreciated.
Thanks!
Alejandro