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
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) |