In-band bulk import met SqlServer

Door GrimaceODespair op maandag 16 december 2013 01:53 - Reacties (4)
CategorieŽn: C#, SqlServer, Views: 2.764

Telkens als ik grote hoeveelheden data moet importeren in SQLServer, zoek ik het even opnieuw op, en kom ik er ook weer telkens opnieuw achter dat dat kan met BCP (command line) of met BULK INSERT (SQL commando). En beide opties hebben hetzelfde nadeel: het leent zich niet voor een dynamisch systeem, omdat je ( A ) het schema van de tabel in een format file nodig hebt en ( B ) de data in een bestand moet gooien. Bovendien duurt het altijd weer even voordat je de juiste configuratie-opties op de commandline hebt achterhaald.

Aangezien ik me niet zomaar kan neerleggen bij dergelijke beperkingen, vroeg ik me af of het misschien mogelijk was om de fysieke bestanden te vervangen door named pipes. Dat zou namelijk mogelijkheden openen om dergelijk imports niet "out-of-band" te doen, maar rechtstreeks in C#-code.

Een kleine speurtocht later bleek het antwoord op die vraag gedeeltelijk "ja". Dat antwoord was voldoende voor een proof of concept dat uiteindelijk resulteerde in een NuGet package.

Lees verder »