Einfügen von C# - Tabelle Daten in eine SQL Server-Tabelle
Es ist trotzdem legen Sie in der Masse ein System.Daten.DataTable in C# in eine SQL Server-Tabelle unter Verwendung einer gespeicherten Prozedur und übergeben diese Tabelle als parameter?
Dem Tisch nicht eine Feste Anzahl von Datensätzen.
- Welche version von SQL Server? 2008?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, es gibt einen Weg:
Bitte etwas zu Experimentieren mit der BatchSize - 100000, war gut für mich - es sollte nicht größer sein als die Geschwindigkeit migth Abnahme sonst. BatchSize nicht beschränken Sie Ihre Daten - es ist nur die Größe der einzelnen "packet" gesendet wird, um den sql server.
SiteSQLServer drinnen sein sollte Ihre app.config oder web.config. Sie müssen die Parameter zu ändern, hier wenn nicht.
Ändern Sie bitte MYTABLE zu Ihrem Tisch Namen.
In SQL Server-Versionen vor 2008, der einzige Weg zu schieben eine ganze DataTable zu SQL-Server wurde SqlBulkCopy. Drücken Sie alle Daten in (wahrscheinlich vorübergehend) eine staging-Tabelle und rufen Sie die Prozedur zum verarbeiten der bereitgestellten Daten.
In SQL Server 2008, table-valued Benutzer-definierte Typen eingeführt wurden. Sie bieten einige großartige neue Möglichkeiten zur Arbeit mit-sets von Daten.
Haben Sie einen Blick auf MSDN:
und wahrscheinlich einen zweiten auf zwei meiner blog-Beiträge: