not sure I have any time to be posting anything.... wouldn't have been on this site and/or reading this response except for the email notification. There were a couple of little things as I recall. Let me look tomorrow and see if I can point out the right piece that you might be missing.
You do NOT have to create a "UDL file" even though everything I read says you do... and that was originally in my instructions. It didn't make sense that the UDL file required the user/schema and password, as well as the linked server requiring it... and when I finally just skipped that step, it still worked.
You say your queries get "out of memory" errors. I've never seen that with any of mine. Exactly where/how are you executing your queries that get this error?
Like I said before, it seemed to our developers that the MS software worked better than the Oracle software... and I know that there was a funky way they had to code to use a cursor; but, it works, daily, in development, QA/QC and production.
It's receiving data in California from a database in Montreal, and the "cloud" between here and there is poor; but, it's doing the job as designed.
It wasn't easy to get there, and there's a lot on the internet about some of the issues, 32 bit vs. 64, bit etc. The untimate solution though wasn't which provider to use... it was which tool to use after the linked server was created.
Visual Studio is what our developers are using to get their code working.
Oracle Since 1982
SQL Server Since 1998