Re: Postgres inserts null value for parameterized statement
От | Hiroshi Inoue |
---|---|
Тема | Re: Postgres inserts null value for parameterized statement |
Дата | |
Msg-id | 4ADBE482.4020306@tpf.co.jp обсуждение исходный текст |
Ответ на | Postgres inserts null value for parameterized statement (kishoramballi <kishoramballi@gmail.com>) |
Список | 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
В списке pgsql-odbc по дате отправления: