This content has been marked as final. Show 21 replies
I don't think you're going to get it to work. I filed a TAR with Oracle because I was running into the same problem from ODP.Net. They spent quite a bit of time looking into it and determined that the problem was that it wasn't supported by SQL Net, IIRC. This was somewhere in the release notes for 9i, though I don't remember where.
So far what I've been able to determine is that:
1. The DeriveParameters call works fine for stored procedures in the local database.
2. Both MS OleDB and Oracle OleDB drivers can invoke stored procedures over a DBLink.
What I don't understand is what is the difference to the Ole driver between a local SP and a remote SP?
Just some comments:
- DeriveParameters will incur server round-trip (to fetch parameter info). It's better to use it at "design time" only. For better performance, do not leave it in production environment.
- DeriveParameters is not supported by OraOLEDB. But there is alternative way to know parameter info at design time.
I see your point, however, this is part of code outside of my control. It is being used to cache the parameter info. Thus, when my code goes through the infrastructure code it hits this call.
The interesting thing about this is that DeriveParameter call works fine on the local DB but fails over the DBLink.
I've tested DeriveParameter and OleDbSchemaGuid.Procedure_Parameters. Neither of them work on synonyms either local or remote. I hope someone from Oracle can provide some more insight into this.
They are not supported by OraOLEDB -- intentionally. Why do you expect them to work?
Actually, I had expected them to work in remote SPs just like they do on local SPs.