Обсуждение: Passing numeric Bind variables to ODBC driver convers to "Double precision"

Поиск
Список
Период
Сортировка

Passing numeric Bind variables to ODBC driver convers to "Double precision"

От
Barry Bell
Дата:
 Using the lastest of ODBC ANSI driver for windows 32bit ver 9.00.03  Calling from MS VFP 9.0

 public nvar as interger
 nvar=1
 running the following sql:
 "( select function_pkg(?nvar) "

 The bind variable nvar will show in postgres as "Double Precision"  format instead of integer(or numeric)

 Is there a setting on the ODBC driver for incoming vairables?


Re: Passing numeric Bind variables to ODBC driver convers to "Double precision"

От
Hiroshi Inoue
Дата:
Hi Barry,

(2012/04/09 23:35), Barry Bell wrote:
>
>   Using the lastest of ODBC ANSI driver for windows 32bit ver 9.00.03  Calling from MS VFP 9.0
>
>   public nvar as interger
>   nvar=1
>   running the following sql:
>   "( select function_pkg(?nvar) "
>
>   The bind variable nvar will show in postgres as "Double Precision"  format instead of integer(or numeric)
>
>   Is there a setting on the ODBC driver for incoming vairables?

Are you turning on the Server side prepare option?

regards,
Hiroshi Inoue



Re: Passing numeric Bind variables to ODBC driver convers to "Double precision"

От
Barry Bell
Дата:
Thanks, "UseServerSidePrepare=1;  does appear to fix this. (working for both numeric and integer)

Next issue,
When calling a function in postgres, the postgres is returning a blank string ('').
This is showing as a blank longvarchar(memo,clob) instead of a varchar.

Any ideas?
 
Thanks
Barry Bell, IT Department 
Office: 954-429-3771 x267 Fax: 954-281-1464 email Barry_Bell@harte-hanks.com


-----Original Message-----
From: Hiroshi Inoue [mailto:inoue@tpf.co.jp] 
Sent: Thursday, April 12, 2012 9:24 AM
To: Barry Bell
Cc: pgsql-odbc@postgresql.org
Subject: Re: [ODBC] Passing numeric Bind variables to ODBC driver convers to "Double precision"

Hi Barry,

(2012/04/09 23:35), Barry Bell wrote:
>
>   Using the lastest of ODBC ANSI driver for windows 32bit ver 9.00.03  Calling from MS VFP 9.0
>
>   public nvar as interger
>   nvar=1
>   running the following sql:
>   "( select function_pkg(?nvar) "
>
>   The bind variable nvar will show in postgres as "Double Precision"  format instead of integer(or numeric)
>
>   Is there a setting on the ODBC driver for incoming vairables?

Are you turning on the Server side prepare option?

regards,
Hiroshi Inoue




Re: Passing numeric Bind variables to ODBC driver convers to "Double precision"

От
Hiroshi Inoue
Дата:
(2012/04/13 2:12), Barry Bell wrote:
> Thanks, "UseServerSidePrepare=1;  does appear to fix this. (working for both numeric and integer)
>
> Next issue,
> When calling a function in postgres, the postgres is returning a blank string ('').
> This is showing as a blank longvarchar(memo,clob) instead of a varchar.
>
> Any ideas?

Please try to turn off the Text as LongVarChar option.

regards,
Hiroshi Inoue

Re: Passing numeric Bind variables to ODBC driver convers to "Double precision"

От
Barry Bell
Дата:
Note: The UseServerSidePrepare=1; only works with the PostgresSQL 9.01 driver (It will not work with the 9.00 driver)

Setting TextAsLongVarchar=0 has no effect on the blanks("") comes back as longvarchar.

UnknownsAsLongVarchar=0 or UnknownsAsLongVarchar=1 has no effect on this either.


Thanks
Barry Bell, IT Department 
Office: 954-429-3771 x267 Fax: 954-281-1464 email Barry_Bell@harte-hanks.com


-----Original Message-----
From: Hiroshi Inoue [mailto:inoue@tpf.co.jp] 
Sent: Friday, April 13, 2012 9:27 AM
To: Barry Bell
Cc: pgsql-odbc@postgresql.org
Subject: Re: [ODBC] Passing numeric Bind variables to ODBC driver convers to "Double precision"

(2012/04/13 2:12), Barry Bell wrote:
> Thanks, "UseServerSidePrepare=1;  does appear to fix this. (working for both numeric and integer)
>
> Next issue,
> When calling a function in postgres, the postgres is returning a blank string ('').
> This is showing as a blank longvarchar(memo,clob) instead of a varchar.
>
> Any ideas?

Please try to turn off the Text as LongVarChar option.

regards,
Hiroshi Inoue


Re: Passing numeric Bind variables to ODBC driver convers to "Double precision"

От
Hiroshi Inoue
Дата:
(2012/04/14 3:00), Barry Bell wrote:
> Note: The UseServerSidePrepare=1; only works with the PostgresSQL 9.01 driver (It will not work with the 9.00 driver)
>
> Setting TextAsLongVarchar=0 has no effect on the blanks("") comes back as longvarchar.
>
> UnknownsAsLongVarchar=0 or UnknownsAsLongVarchar=1 has no effect on this either.

Could you send me the Mylog output?
You can take the log by adding Debug=1; in your connection string.

regards,
Hiroshi Inoue