Re: [ODBC] Problem calling a function from ODBC application
От | Vilches, Alejandro |
---|---|
Тема | Re: [ODBC] Problem calling a function from ODBC application |
Дата | |
Msg-id | 9CE034E149417949A58AA9A4FA7E1C5586DC118E@ORSMSX115.amr.corp.intel.com обсуждение исходный текст |
Ответ на | Re: [ODBC] Problem calling a function from ODBC application ("Inoue, Hiroshi" <h-inoue@dream.email.ne.jp>) |
Ответы |
Re: [ODBC] Problem calling a function from ODBC application
Re: [ODBC] Problem calling a function from ODBC application |
Список | pgsql-odbc |
Oh goodness, that's embarrassing :). Okay, so I've tried the following: - I fixed the small sample program and now that one executes successfully - I created another sample program that calls a stored function with the same number of parameters and types as the one inmy real application and now that fails with the following error message (the same error message I originally reported): ERROR: function my_function3(bigint, bigint, integer, integer, timestamp with time zone, integer, integer, integer, integer,integer, integer, unknown, unknown) does not exist; Error while preparing parameters I've attached the new sample program. The stored function can be any dummy function. Thanks! Alejandro -----Original Message----- From: Inoue, Hiroshi [mailto:h-inoue@dream.email.ne.jp] Sent: Friday, February 3, 2017 4:15 PM To: Vilches, Alejandro <alejandro.vilches@intel.com>; Adrian Klaver <adrian.klaver@aklaver.com> Cc: pgsql-odbc@postgresql.org Subject: Re: [ODBC] Problem calling a function from ODBC application 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 questioneasier to ask. I did go back and write up a small program as described in the question and now the error messageI'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 finefrom psql by simply executing "select * from my_function(...)". But calling it from my application I get the followingerror: "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
Вложения
В списке pgsql-odbc по дате отправления: