1. Source is Oracle, Target is Microsoft SQL Server
2. Source is Microsoft SQL Server, Target is Oracle.
Case 1: Oracle to Microsoft SQL Server
- Get a Copy of the MSS database that is similar in version and patch level as your source.
- Compare the table, column and column positions of the Oracle and MSS database.
- Create the columns that are missing in the MSS database only. (If there are more columns in the source those are usually Nullable).
- Create a Linked Server in Microsoft SQL Server using MSORA OLEDB.
- Truncate all the tables in MSS.(Do not drop them)
- Create any custom table you wish.
- Back up you blank database. It will save you so much time next time around.
- Disable all the triggers.
- Insert all the data via linked server.
- Copy over those table with Long/text data types via DTS
- Enable all the triggers.
- Do a row count in Oracle and MSS.
- Make sure they match up and you are done.
- The only difference is that you will be using a ODBC + HS link to connect to the MSS Server.
- Also I wrote a stored procedure to copy over long and text fields in oracle.
The reason why people switch.
- People go to Oracle because SQL server database is usually bigger. This has to do with the way MSS Costpoint database deal with a few of the datatypes. I.e. char instead of varchar
- People go with SQL Server because it costs less. If you have a 6gb database, does it really matter if you save 2gb?