You need an SQL Gateway on both ends to this stuff. SQL Server to Oracle Server communication should be translated on both ends to acheive your goal. We had to write our own gateway, when we did it. Example:
Server1 has SQL Server and the SQL Gateway which simulates a remote SQL Server. Actually this SQL Gateway talks to an Oracle SQL Stub sitting on Server2 which has the Oracle Server. Since, SQL 6.5 supports remote server querying, you run a stored procedure on Server1, which thinks that it is talking to a remote SQL Server. Actually, it is talking to the Oracle stub on the remote end. Both the SQL Gateway and the Oracle stub has to be written by you. This is some kind of a SQL_Passthru.
Other approach is for the client to get to both the servers. This is rather easy, ‘cuz you can communicate to both the servers using ODBC. Do your processing on the client side.
How to write this Gateway? Briefly put, use DBLIB calls in your C program. On the other end, use OCI. I cannot give you the entire code and I don’t believe that there is any third party tool out there to do this job.