SQL statements are translated and data types are mapped according to capabilities. PL/SQL calls are mapped to non-Oracle system stored procedures.
With SQL statements, if functionality is missing at the remote system, then either a simpler query is issued or the statement is broken up into multiple queries. Then, the desired results are obtained by postprocessing in the Oracle database.
Even though Heterogeneous Services can, for the most part, incorporate non-Oracle systems into Oracle distributed sessions, there are several limitations to this. Some of the generic limitations are:
There is no support for
CONNECT BYclauses in SQL statements.
ROWIDsupport is limited; consult individual gateway documentation for more details. The Oracle Universal
ROWIDdata type is not supported in any gateway that uses Heterogeneous Services.
Large objects (LOBs), abstract data types (ADTs), and reference data types (REFs) are not supported.
Remote packages are not supported.
Remote stored procedures can have
outarguments of type
REF CURSORbut not
Oracle Heterogeneous Services agents do not support shared database links.
In addition to these generic limitations, each gateway can have additional limitations. See the gateway documentation for individual gateways for a complete list of limitations of the product.