I'm comparing several approaches to putting a huge volume of data into SQL server. I discovered the IRowsetFastLoad interface from OLEDB and the SqlBulkCopy class from Ado.Net. Since C# is my base platform and IRowsetFastLoad, as far as I know, doesn't map to it, I'm trying to decide if it would be worthwhile to design a wrapper for IRowsetFastLoad specifically for.net so I can use it in my program.
Would it be worthwhile to design such a wrapper? Does anybody know whether IRowsetFastLoad would truly perform better than SqlBulkInsert?
the controlled equivalent of
they ought to function similarly. Due to the availability of bindings, which allow for a quicker movement of data into and out of the API, OleDB is often faster than ADO.Net in the client (less memcopy required because the buffers are known ahead, fixed and pre-allocated). ADO.Net offers a considerably simpler programming approach, however data cannot be extracted from ADO.Net without a copy. However, the difference should be hard to assess for any but the most essential access.
Both will employ the rapid load when it comes to the distinction that counts, the server access.
What matters most is the API (which is unavailable from pure T-SQL).