Cannot update or delete rows
От | Pascal Viandier |
---|---|
Тема | Cannot update or delete rows |
Дата | |
Msg-id | 00f401c6b23d$ac4b8f20$270210ac@windows.accovia.com обсуждение исходный текст |
Ответы |
Re: Cannot update or delete rows
|
Список | pgsql-odbc |
Hi, I am in the process of modifying existing programs closely bound to Informix to make them use ODBC with unixODBC on SPARC Sun Solaris. I setup 3 databases to connect to through ODBC: - Informix ODBC (CLI) - MySQL - PostgreSQL. I use a test program that makes various ODBC calls (Connect, Select, Insert, Update, Delete...) on these databases. It works well with the first two but not with PostgreSQL when it comes to update or delete rows in a table using SQLSetPos(). I use PostgreSQL 8.1.4 and psqlodbc-08.01.0200. I have seen many threads on this subject in this newsgroup but I cannot figure out what to do to make it work. Using the information related to this problem from this newsgroup I already made the following changes to my initial setup - with no success - : - re-created the database with oids since they seem to be essential in this case. - put UpdatableCursors=1 in odbc.ini 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 My concern is I cannot change the type of the cursor 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 the return code 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 think this is why I cannot update or delete rows using SQLSetPos() but I do not understand why I cannot change the cursor type. I already spent many hours browsing this newsgroup to find a solution but now I am completely stuck. Any help would be greatly appreciated. Thanks in advance. Pascal
В списке pgsql-odbc по дате отправления: