Re: Postgres inserts null value for parameterized statement

From: Hiroshi Inoue <inoue(at)tpf(dot)co(dot)jp>
To: kishoramballi <kishoramballi(at)gmail(dot)com>
Cc: pgsql-odbc(at)postgresql(dot)org
Subject: Re: Postgres inserts null value for parameterized statement
Date: 2009-10-19 04:01:06
Message-ID: 4ADBE482.4020306@tpf.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-odbc

kishoramballi wrote:
> Hi,
>
> I have created table using following sql statement through psql tool in test
> database using
> create table t1(f1 int);
> table is created.
> Now I am using an odbc script to insert 5 records. But it inserts 6 records
> NULL value being the first one inserted.
> the code snippet is as below.
>
> ...
> ...
> retVal = SQLDriverConnect(dbHdl, NULL, (SQLCHAR*)"psql",
> SQL_NTS,outstr, sizeof(outstr), &outstrlen, SQL_DRIVER_NOPROMPT);
> SQLSetConnectAttr(dbHdl, SQL_ATTR_AUTOCOMMIT, SQL_AUTOCOMMIT_OFF, 0);
> int f1 = 0;
> ret = SQLPrepare(stmt,(unsigned char*)"INSERT INTO T1 VALUES(?);" ,
> SQL_NTS);
> ret = SQLBindParameter (stmt, 1, SQL_PARAM_INPUT, SQL_C_SLONG,
> SQL_INTEGER,0,0,&f1,0,NULL);
> int i,count=0;
> // EXECUTE THE STATEMENT
> for(i=0;i<5;i++)
> {
> f1++;
> ret = SQLExecute(stmt);
> ret = SQLTransact(env,dbc,SQL_COMMIT);
> count++;
> }
> ...
> ...
>
> I am using unixodb driver and my odbc.ini file reads as follows.
>
> $ vi ~/.odbc.ini
>
> [psql]
> Description = CP resources db
> Driver = postgres
> Trace = No
> TraceFile = sql.log
> Database = test
> Servername = localhost
> UserName = kishoramballi
> Password = kishoramballi
> Port = 5432
> Protocol = 6.4

Please set
Protocol = 7.4

and set one of the follwoing.

1)
UseServerSidePrepare = 1
2)
DisallowPremature = 1
3)
Parse = 1

regards,
Hiroshi Inoue

In response to

Browse pgsql-odbc by date

  From Date Subject
Next Message Richard Broersma 2009-10-23 15:51:40 INSERT malfunction between MS-Access - PostgreSQL - LO
Previous Message Hiroshi Inoue 2009-10-19 03:37:28 Re: Problem with psqlODBC and "call" (of Stored Procedures)