From: | "Inoue, Hiroshi" <h-inoue(at)dream(dot)email(dot)ne(dot)jp> |
---|---|
To: | "Vilches, Alejandro" <alejandro(dot)vilches(at)intel(dot)com>, Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com> |
Cc: | "pgsql-odbc(at)postgresql(dot)org" <pgsql-odbc(at)postgresql(dot)org> |
Subject: | Re: Problem calling a function from ODBC application |
Date: | 2017-02-04 00:15:05 |
Message-ID: | 582dec4a-eda4-625d-3ae2-e3207667284c@dream.email.ne.jp |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-odbc |
Hi,
On 2017/02/04 4:41, Vilches, Alejandro wrote:
> Hi Adrian,
>
> Thanks for your reply. To be honest, my application is a bit more complex and I simplified things to make the question easier to ask. I did go back and write up a small program as described in the question and now the error message I'm getting is different, but I'm still having issues calling my function from ODBC.
>
> In essence, the problem I'm having is calling a function from ODBC that has an output parameter. I can call it just fine from psql by simply executing "select * from my_function(...)". But calling it from my application I get the following error: "ERROR: syntax error at end of input;"
I see the following in your code.
ret = SQLPrepare(stmt, "{call my_function(?, ?, ?, ?}", SQL_NTS);
Should the last part ... ?, ?} be ... ?, ?)} ?
regards,
Hiroshi Inoue
> Please find the source code attached. The stored function is very simple and silly:
>
> CREATE OR REPLACE FUNCTION public.my_function(a integer, b bigint, c character varying, OUT d bigint)
> RETURNS bigint
> LANGUAGE plpgsql
> AS $function$
> BEGIN
> d := a + b + char_length(c);
> END
> $function$
>
> Thanks!
> Alejandro
From | Date | Subject | |
---|---|---|---|
Next Message | Vilches, Alejandro | 2017-02-04 00:31:41 | Re: Problem calling a function from ODBC application |
Previous Message | Vilches, Alejandro | 2017-02-03 19:41:44 | Re: Problem calling a function from ODBC application |