Re: Problem calling a function from ODBC application

From: "Vilches, Alejandro" <alejandro(dot)vilches(at)intel(dot)com>
To: "Inoue, Hiroshi" <h-inoue(at)dream(dot)email(dot)ne(dot)jp>, 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-07 00:24:46
Message-ID: 9CE034E149417949A58AA9A4FA7E1C5586DC1952@ORSMSX115.amr.corp.intel.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-odbc

Hi Hiroshi,

Thanks for your suggestion! That actually worked! It works two ways: "?::timestamp" or "cast(? as timestamp)".

After running further tests, I'm seeing the issue occurs when the function has a parameter of type timestamp. Furthermore, it throws off other parameters after that (e.g. the varchar parameters show up as unknown in the error message). Anyway, I thought I would just mention that in case it helps anything.

I wish there was a way to specify the timestamp type better when binding the parameter in ODBC (or that PostgreSQL wouldn't get confused between timestamp with or without time zone) so that I didn't need to cast it on top of that (as this seems a bit redundant).

Anyway, thanks so much for your help, I really appreciate it!

Alejandro

-----Original Message-----
From: Inoue, Hiroshi [mailto:h-inoue(at)dream(dot)email(dot)ne(dot)jp]
Sent: Monday, February 6, 2017 1:53 AM
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
Subject: Re: [ODBC] Problem calling a function from ODBC application

Hi,

On 2017/02/04 9:54, Vilches, Alejandro wrote:
> It's actually without time zone. However, it doesn't seem like ODBC allows me to specify that. When I bind the parameter, I can only say: SQL_TYPE_TIMESTAMP.

How about calling with cast i.e.

my_function3(?, ?, ?, ?, ?::timestamp with time zone, ?, ?, ?, ?, ?, ?, ?, ?, ?) ?

regards,
Hiroshi Inoue

> -----Original Message-----
> From: Inoue, Hiroshi [mailto:h-inoue(at)dream(dot)email(dot)ne(dot)jp]
> Sent: Friday, February 3, 2017 4:45 PM
> 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
> Subject: Re: [ODBC] Problem calling a function from ODBC application
>
> Hi,
>
> On 2017/02/04 9:31, Vilches, Alejandro wrote:
>> 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 in my 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;
> Is the type of parameter 'timestamp with time zone' right?
>
>> Error while preparing parameters
>>
>> I've attached the new sample program. The stored function can be any dummy function.
>>
>> Thanks!
>> Alejandro

In response to

Responses

Browse pgsql-odbc by date

  From Date Subject
Next Message Inoue, Hiroshi 2017-02-07 11:54:54 Re: Problem calling a function from ODBC application
Previous Message Adrian Klaver 2017-02-06 20:57:28 Re: [HY000] no error information; Error while preparing parameters