Problems updating rows
От | Pascal Viandier |
---|---|
Тема | Problems updating rows |
Дата | |
Msg-id | 00f001c6b1b6$5713fdd0$270210ac@windows.accovia.com обсуждение исходный текст |
Список | 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
В списке pgsql-odbc по дате отправления: