BUG: Oracle Driver Fails to Find Delimited IdentifiersLast reviewed: September 9, 1996Article ID: Q109486 |
The information in this article applies to:
BUG# ODBCORA: 580 (1.00.3112)
SYMPTOMSWhen delimited tablenames are passed to the Oracle driver in an escape clause, the delimiters are removed by the driver. Oracle needs the delimiters to find the table in cases where the table was originally created with the delimiters as part of the tablename. The following error will result when the non-delimited tablenames are passed down:
[PageAhead][ODBC Oracle Driver][Oracle OCI]ORA-00942: table or view does not exist.The following query:
select "Categories"."Category_Name", "Products"."Product_Name" from { oj "Categories" left outer join "Products" on "Categories"."Category_ID" = "Products"."Category_ID" }produces the ORA-00942 error. But when the query is formed without using an escape clause, it works:
select "Categories"."Category_Name" , "Products"."Product_Name" from "Categories" ,"Products" where "Categories"."Category_ID" (+)= "Products"."Category_ID"This behavior impacts Access users in that Oracle tables created using the Export function of Access cannot be queried on later when the query involved the Access database engine generating Access SQL queries that involve outer joins.
WORKAROUNDNot using ODBC escape clauses when using delimited identifiers will avoid the problem. Also, you can use native Oracle SQL syntax as demonstrated above. Users of Microsoft Access experiencing this problem will need to use the SQL Passthrough DLL.
STATUSMicrosoft has confirmed this to be a problem in the ODBC Oracle Driver versions 1.00.3112 and 1.00.2816. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.
|
KBCategory: kbusage kberrmsg
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |