Поделиться через


Ограничения на использование курсоров, управляемых набором ключей

Важно!

Эта функция будет удалена в будущих версиях Windows. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется. Вместо этого используйте драйвер ODBC, предоставляемый Oracle.

Необходимо иметь возможность получить один столбец ROWID для запрашиваемой таблицы. Курсор, управляемый набором ключей, нельзя использовать для соединений, запросов или инструкций, содержащих DISTINCTпредложения , GROUP BY, UNION, INTERSECTили MINUS .

Кроме того, если приложение использует псевдонимы таблиц, курсоры, управляемые набором ключей, не работают. Требуются типы курсоров только вперед или статические курсоры. Использование типа курсора набора ключей с псевдонимами таблиц приводит к следующей ошибке: [Microsoft][ODBC driver for Oracle]Cannot use Keyset-driven cursor on join, with union, intersect or minus or on read only result set.

Примечание

Из-за того, как драйвер обрабатывает инструкцию SQL, отправляемую на сервер Oracle, Oracle внутренне возвращает следующее сообщение об ошибке: ORA-00964: table name not in FROM list.