Problems updating rows

From: "Pascal Viandier" <pascal(at)accovia(dot)com>
To: <pgsql-odbc(at)postgresql(dot)org>
Subject: Problems updating rows
Date: 2006-07-27 19:53:32
Message-ID: 00f001c6b1b6$5713fdd0$270210ac@windows.accovia.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-odbc

Hi,

I am modifying existing programs that were bound to Informix to use ODBC.
All this under SUN Solaris.
I use unixODBC and setup 3 databases to connect to through ODBC:
- Informix ODBC (CLI)
- MySQL
- PostgreSQL.

I have a test program that makes various ODBC calls (Connect, Select, Insert,
Update, Delete) to these databases. This program works well with the two others.
I use PostgreSQL 8.1.4 and psqlodbc-08.01.0200.
My problem with the PostgreSQL ODBC is: I cannot Update or Delete rows using
SQLSetPos().
I have seen many threads on this subject in this newsgroup but I cannot figure
out what to do to have it work.

First, I re-created the database with oids since they look essential in this
case.

Then I put UpdatableCursors=1 in odbc.ini, as seen in other threads

Here is the odbc.ini part for pgodbc:

[lt]
Driver=/home/pascal/ODBC/libpsqlodbcw.so
Description=PostgreSQL ODBC DRIVER
ServerName=mbench
Database=lt
Port=5432
UserName=postgres
Password=postgres
ReadOnly=0
RowVersioning=1
ShowSystemTables=0
ShowOidColumn=1
FakeOidIndex=0
UpdatableCursors=1
UseDeclareFetch=1
CommLog=1
Debug=1
Trace=Yes
TraceFile=/tmp/pgsql.log

The main problem is I cannot change the cursor type of the SELECT statement.
When calling SQLSetStmtAttr(hstmt, SQL_ATTR_CURSOR_TYPE, (SQLPOINTER)
SQL_CURSOR_KEYSET_DRIVEN, 0); as seen in an other thread, I get a return code of
SQL_SUCCESS_WITH_INFO and SQLDiagRec returns:
SQLSTATE:01S02
NATIVE CODE: 16
MESSAGE: Requested value changed.
If I call SQLGetStmtAttr(..., SQL_ATTR_CURSOR_TYPE,...); it returns
SQL_CURSOR_STATIC.

I really think this is why I cannot update or delete rows using SQLSetPos() but
I don't know why I cannot change the cursor type.

I have to say, I spent some hours reading this newsgroup to try finding a
solution but I am completely stuck now.

Any help would be greatly appreciated.

Thanks in advance.

Pascal

Browse pgsql-odbc by date

  From Date Subject
Next Message noreply 2006-07-28 07:14:21 [ psqlodbc-Bugs-1000692 ] Broken UTF-8 support in Version 08.02.0002
Previous Message David Chappelle 2006-07-27 13:52:12 CC_lookup_cs_new() bug