Click here to Skip to main content
15,867,835 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
The stupid widget keeps messing with the capitalization!
SQL Server OleDb IRowsetFastLoad .net


I am working on developing a simple ETL tool.
Performance isn't really very important overall, but at the moment I'm testing it with a large CSV file and comparing against SSIS' performance.

SSIS with OleDb (Native Client, FastLoad) can load the file into an SQL Server table in about 10 minutes.
SSIS with ADO.net (SQL Client, Bulk Copy) can load the file into an SQL Server table in about 40 minutes.
My process with ADO.net (SQL Client, Bulk Copy) can load the file in about 30 minutes.
The BCP utility (Native Client, ODBC) takes about 10 minutes.

So I'm wondering how I might be able to use OleDb's Fast Load -- from C# and .net rather than C/C++ .

It doesn't look possible, but does anyone out there have any ideas I might pursue?
Might P/Invoke be able to do it?

What I have tried:

I have been using the SqlBulkCopy Class with C#
SqlBulkCopy Class (System.Data.SqlClient) | Microsoft Docs[^]

I'd like to use IRowsetFastLoad, but the samples are in C/C++
IRowsetFastLoad (Native Client OLE DB provider) - SQL Server | Microsoft Docs[^]
I have compiled and executed the C/C++ sample program.

I have looked at the OleDb provider in .net , but nothing jumped out at me as being what I want.
Posted
Updated 19-May-22 7:13am
v8

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900