PRB: MS OLE DB Provider for Oracle Doesn't Support INNER JOIN Syntax with ODBC Escape Sequence (245379)
The information in this article applies to:
- Microsoft OLE DB Provider for Oracle 2.0
- Microsoft OLE DB Provider for Oracle 2.1
- Microsoft OLE DB Provider for Oracle 2.5
- Microsoft OLE DB Provider for Oracle 2.6
This article was previously published under Q245379 SYMPTOMS
When an INNER JOIN operation is performed on two or more tables with the ODBC Escape Sequence "{oj}" using the Microsoft OLE DB provider for Oracle, a syntax error, access violation, or DB_E_ERRORSINCOMMAND may occur.
CAUSE
Oracle PL/SQL does not support this syntax. The Microsoft OLE DB Provider for Oracle is a native provider that uses the Oracle OCI API to translate and make calls to the Oracle database back end. It is not possible to perform joins on another table in Oracle using this syntax.
RESOLUTION
Use the Oracle Native Join syntax in the query instead of the ODBC "{oj}" escape sequence. For instance, the following INNER JOIN syntax can be resolved by the second statement:
SELECT * FROM { oj tab1 INNER JOIN tab2 ON tab1.col1=tab2.col2}
SELECT * FROM tab1, tab2 WHERE tab1.col1 = tab2.col2
STATUS
This behavior is by design.
Modification Type: | Major | Last Reviewed: | 9/30/2003 |
---|
Keywords: | kbDatabase kbOracle kbprb kbProvider KB245379 |
---|
|