I have Oracle on an XP machine, and use the 'Oracle in OraDB10g_home1' driver to read the data. I have another Windows Server 2008 R2 machine on the same network, with SQL Server 2012 on it. What is the best way to read Oracle Tables in SQL Server? Can I setup an ODBC link from my Windows Server machine to the Oracle Database (which would require me to download an Oracle ODBC driver)? Or is the best way to export the required tables from Oracle (e.g. into csv format) and import them into SQL?
Simplest is an export from oracle followed by an import into sql server - then you don't need to have both on-line at once and the file forms a contract between the servers.
Whatever you do you will need to make sure that the data can be held in sql server. Often dates are a problem as oracle has a wider date range than a datetime. Also (depending on the code pages) often the character data needs to be conveted on export.
You can do this via a linked server if you like - but may well need to transfer using queries actioned on oracle to transform the data. Similarly for SSIS - which I would probably use in preferance to a linked server.
========================================== Cursors are useful if you don't know sql. SSIS can be used in a similar way. Beer is not cold and it isn't fizzy.