MDAC 2.5 SDK - ODBC Driver for Oracle
You must be able to retrieve a single ROWID column for the table queried. A keyset-driven cursor cannot be used on joins, queries, or statements containing DISTINCT, GROUP BY, UNION, INTERSECT, or MINUS clauses.
Also, if your application uses table aliases, keyset-driven cursors will not work; forward-only or static cursor types are required. Using the keyset cursor type with table aliases will result in the following error: "[Microsoft][ODBC driver for Oracle]Cannot use Keyset-driven cursor on join, with union, intersect or minus or on read only result set."
Note Due to the way the driver handles the SQL statement that is sent to the Oracle server, Oracle internally returns the following error message: "ORA-00964: table name not in FROM list."