Обсуждение: PostgreSQL) How to use Bind Variable with ODBC Driver V10?

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

PostgreSQL) How to use Bind Variable with ODBC Driver V10?

От
박재현[기술연구소]
Дата:

Hello. 
I hope my email finds you well. 
I am developing query tool for PostgreSQL using ODBC Driver (recent release ODBC v10).
The product that I am developing uses the SQLDescribeParam() function before the query SQLExec() when using Bind Variable. 
SQLDescribeParam () function normally works on 'psqlodbc_09_06_0500-x86', when using Bind Variable. 
However, in 'psqlodbc_10_00_0000-x86' and later versions, error occurs and Bind Variable cannot be used. 
Normal queries that do not use the SQLDescribeParam () function work fine. 
For your reference, below is the example of the query that use Bind Variable: select * from pg_class where relname = $ 1;

Should I use Bind Variable from ODBC v10 instead of SQLDescribeParam () function? 
If possible please provide me with a detailed guide on how to use Bind Variable with ODBC Driver. 
Thank you in advance. 
Best Regards,

 

 
 
박 재 현 Jae Hyun Park
전임연구원 / (주)웨어밸리 기술연구소
(121-795) 서울시 마포구 월드컵북로 396 (상암동)
누리꿈스퀘어 비지니스타워 22층
Tel: 02-2132-5522
Fax:02-743-4912
Mobile: 010-3836-9574
E-mail: jh_park@warevalley.com
 

Re: PostgreSQL) How to use Bind Variable with ODBC Driver V10?

От
Clemens Ladisch
Дата:
박재현[기술연구소] wrote:
> The product that I am developing uses the SQLDescribeParam() function
> before the query SQLExec() when using Bind Variable.

The behaviour of the driver for this case is affected by the
configuration settings "Parse Statement" and "Server side prepare".
What are their values?  Are they different in the old and new data
sources?  Does it help if you change one or both of them?

> select * from pg_class where relname = $ 1;

In theory, the ODBC API allows only ? as parameter marker; please use
that.  (The driver automatically changes ? to $N before sending the
statement to the server.)


Regards,
Clemens