On 02/01/2017 07:05 PM, Vilches, Alejandro wrote:
> 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).
I think this is going to require showing the actual entire code
sequence that sets up the parameters and binds them and then calls the
function.
>
>
>
> 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
>
--
Adrian Klaver
adrian.klaver@aklaver.com