it's a little hard to explain
Oracle Gateway performs 3 types of operations:
- SQL translations (when querying regular tables, views, etc.)
- Data dictionary translations (when querying system views)
- Data type conversions (e.g. Microsoft date for Oracle date)
In the case of JDBC, the JDBC-ODBC bridge makes the JDBC driver fully compatible with the drivers included in DG4ODBC. Therefore, JDBC plus DG4ODBC allows you to perform all of the above conversions.
The problem is that DG4MSQL uses a proprietary driver, and only SQL translations can be connected to JDBC.
As a solution to your problem, you can try to create local views in your Oracle schema based on the system views of remote SQL servers. Depending on your requirements, you can even create them as materialized views.
CREATE OR REPLACE VIEW sys_services AS SELECT * FROM sys.services@dblink ;
and then request sys_services instead of a direct request sys.services@dblink
source share