ODBC Performs a FULL TABLE SCAN When SQL_WCHAR Is Specified in SQLBindParameter For VARCHAR2 Columns

(Doc ID 762091.1)

Last updated on JULY 05, 2017

Applies to:

Oracle ODBC Driver - Version 10.2.0.1.0 and later
Information in this document applies to any platform.
***Checked for relevance on 22-Apr-2013***

Symptoms

1)Oracle ODBC does not use the INDEX scan when SQL_WCHAR is specified as parametertype in call to SQLBindParameter for varchar2 column

2) The query is incorrectly performing a full table/index scan instead of an unique/range index scan.

4) When looking at advanced explain plan, sqltxplain or 10053 trace, you notice that the "Predicate Information" shows is doing a "filter(SYS_OP_C2C)".

e.g select * from table(dbms_xplan.display_cursor(&sql_id,null,'ADVANCED'));

Predicate Information (identified by operation id):
---------------------------------------------------
1 - filter(SYS_OP_C2C("COL1")=:B1) <=== filter operation occurring



Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms