Stop DBMS_Describe being called on a procedure when using ODBC and a dblink
898874Nov 8 2011 — edited Jan 17 2012Hello everyone,
I am participating in the development of a Windows application using Visual C++ 6. This app uses ODBC to connect to an Oracle Database 11g... database, hosted on a Windows Server 2008 64bit machine.
When I try to call a synonym for a procedure that is in another database, using a dblink, I get the following error:
[Oracle][ODBC][Ora]ORA-20002: ORU-10033: object my_local_schema_name.my_synonym_name is remote, cannot describe; expanded name: my_remote_schema_name.my_remote_procedure_name@link_name
ORA-06512: at "SYS.DBMS_DESCRIBE", line 253
ORA-06512: at line 1
I suspect that the ODBC driver is deciding, for some reason, to call dbms_describe, which, as it is documented, doesn't work for objects accessed through a dblink. Calling that same synonym from Oracle SQL Developer, connected with the same user name and to the same database, works. (But, of course, this time I'm using PL/SQL syntax, and not ODBC syntax ("{call procname(?, ?)")).
Is there any way I can stop ODBC from calling dbms_describe?
Thanks,
Alin.