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 по дате отправления:

Предыдущее
От: Peter Eltgroth
Дата:
Сообщение: PGAPI_SetPos
Следующее
От: Shachar Shemesh
Дата:
Сообщение: Extreme slowness