Skip to main content
1 of 2
Mark Storey-Smith
  • 31.9k
  • 9
  • 90
  • 125

Separate the two tasks.

One of the good ETL rules to follow is to get in and out of the source system as fast as possible. Dumping the Oracle data to flat files should be orders of magnitude faster than inserting direct, as should the subsequent import of those files to SQL Server.

I've found BULK INSERT and bcp to be less troublesome (i.e. I create and encounter fewer errors) if you forget CSV, avoid format files, and utilise a non-standard delimiter instead. I've got "~¬" in use on a bcp based ETL job at the moment and so far so good, the data dog I'm fetching from has yet to contain that string.

Mark Storey-Smith
  • 31.9k
  • 9
  • 90
  • 125