Problem calling a function from ODBC application

From: "Vilches, Alejandro" <alejandro(dot)vilches(at)intel(dot)com>
To: "pgsql-odbc(at)postgresql(dot)org" <pgsql-odbc(at)postgresql(dot)org>
Subject: Problem calling a function from ODBC application
Date: 2017-02-02 03:05:28
Message-ID: 9CE034E149417949A58AA9A4FA7E1C5586DC0A7E@ORSMSX115.amr.corp.intel.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-odbc

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

Responses

Browse pgsql-odbc by date

  From Date Subject
Next Message Adrian Klaver 2017-02-02 03:15:39 Re: Problem calling a function from ODBC application
Previous Message Ben Postma 2017-01-26 20:57:06 Re: Need assistance with ODBC bytea data please