it first depends on the driving site. You can for example use the MS SQl Server Linked server technology which allows you to connect to an Oracle database using OLEDB drivers. In this scenario the SQL Server database is the driving site and pushes its data to the Oracle database.
When you want to have the Oracle database as driving site the easiest method to connect to the SQL Server is using the Database Gateway (Database Gateway for ODBC or Database Gateway for MS SQL Server). With some Java skills you could also load a MS JDBC driver into the JVM of the Oracle database and code your connection from the Oracle database to the SQL Server. The disadvantage of this second method is that you have to code everything on your own.
About the Linked Server mechanism have a look at the MS Knowledge base article:
Article ID: 280106 - HOW TO: Set Up and Troubleshoot a Linked Server to Oracle in SQL Server
How to run a SQL Server 2005 Integration Services package as a SQL Server Agent job step Article ID : 912911
Regarding DG4ODBC and DG4MSQL, please have a look at our Support portal and look for the gateway master note:
Master Note for Oracle Gateway Products [Document 1083703.1]
It contains generic information how to connect to the foreign database Document 233876.1 Options for Connecting to Foreign Data Stores and Non-Oracle Databases - For example - DB2, SQL*Server, Sybase, Informix, Teradata, MySQL
as well as the functional differences between the Database Gateway for ODBC (Generic Connectivity) and MS SQL Server Document 252364.1 Functional Differences Between Generic Connectivity and Database Gateways Document 232482.1 Gateway and Generic Connectivity Licensing Considerations
as well as where to find the latest release and how to install and configure them.