Re: PGAPI_SetPos
От | tomas@nocrew.org (Tomas Skäre) |
---|---|
Тема | Re: PGAPI_SetPos |
Дата | |
Msg-id | 80ptfuvky6.fsf@junk.nocrew.org обсуждение исходный текст |
Ответ на | PGAPI_SetPos (Peter Eltgroth <peter@accutelligence.com>) |
Список | pgsql-odbc |
Peter Eltgroth <peter@accutelligence.com> writes: > Hello, > > We are attempting to use an ETL tool (Monarch Data Pump) to move data from > various sources into PostgreSQL; however, we are recieving the following error > message when we attempt to Load the data: > > [1500][SQLSetPos][1500]PGAPI_SetPos fOption=4 irow=1 lock=0 currt=0 > [1500]STATEMENT ERROR: func=PGAPI_SetPos, desc='', errnum=10, errmsg='Only > SQL_POSITION/REFRESH is supported for PGAPI_SetPos' > [1500]CONN ERROR: func=PGAPI_SetPos, desc='', errnum=0, errmsg='(NULL)' > [1500][[SQLGetDiagRec]] > > We tried several recent ODBC drivers (versions 7.03.02.03, 7.03.02, and > 7.03.01), and made sure to check "Updateable Cursors". I think you have to set the concurrency attribute to ROWVER on the statement, before you can use others than POSITION and REFRESH with SetPos. You do this with this call: SQLSetStmtAttr(hstmt, SQL_ATTR_CONCURRENCY, (SQLPOINTER)SQL_CONCUR_ROWVER, 0); Maybe you also need to set the cursor type to keyset driven. I do that at least. SQLSetStmtAttr(hstmt, SQL_ATTR_CURSOR_TYPE, (SQLPOINTER)SQL_CURSOR_KEYSET_DRIVEN, 0); Good luck, Tomas
В списке pgsql-odbc по дате отправления: