Massenkopiervorgänge in SQL Server
Microsoft SQL Server enthält ein beliebtes Befehlszeilen-Hilfsprogramm mit dem Namen bcp zum schnellen Massenkopieren großer Dateiumfänge in Tabellen oder Ansichten in SQL Server-Datenbanken. Die SqlBulkCopy-Klasse ermöglicht Ihnen das Schreiben von verwalteten Codelösungen, die eine ähnliche Funktionalität bereitstellen. Es gibt eine Reihe weiterer Verfahren, Daten in eine SQL-Server-Tabelle zu laden (beispielsweise INSERT-Anweisungen), doch bietet SqlBulkCopy ihnen gegenüber einen erheblichen Leistungsvorteil.
Die SqlBulkCopy-Klasse kann nur zum Schreiben von Daten in SQL Server-Tabellen verwendet werden. Die Datenquelle hingegen ist nicht auf SQL Server beschränkt. Es können beliebige Datenquellen verwendet werden, vorausgesetzt die Daten können in eine DataTable-Instanz geladen oder mit einer IDataReader-Instanz gelesen werden.
Die SqlBulkCopy-Klasse bietet folgende Möglichkeiten:
Einen einzelnen Massenkopiervorgang
Mehrere Massenkopiervorgänge
Einen Massenkopiervorgang innerhalb einer Transaktion
Hinweis
Wenn Sie .NET Framework, Version 1.1 oder früher, verwenden (bei diesen Versionen wird die SqlBulkCopy-Klasse nicht unterstützt), können Sie die BULK INSERT-Anweisung von Transact-SQL für SQL Server mit dem SqlCommand-Objekt ausführen.
In diesem Abschnitt
Einrichtung der Massenkopierbeispiele
In diesem Artikel werden die Tabellen beschrieben, die in den Beispielen für Massenkopiervorgänge verwendet werden, und SQL-Skripts zum Erstellen der Tabellen in der AdventureWorks-Datenbank werden bereitgestellt.
Einzelne Massenkopiervorgänge
In diesem Artikel wird das Durchführen einzelner Massenkopiervorgänge für Daten in eine SQL Server-Instanz mithilfe der SqlBulkCopy-Klasse beschrieben und wie der Massenkopiervorgang mithilfe von Transact-SQL-Anweisungen und der SqlCommand-Klasse durchgeführt werden kann.
Mehrere Massenkopiervorgänge
Beschreibt das Ausführen mehrerer Massenkopiervorgänge von Daten in eine SQL Server-Instanz mithilfe der SqlBulkCopy-Klasse
Transaktionen und Massenkopiervorgänge
Beschreibt das Ausführen eines Massenkopiervorgangs innerhalb einer Transaktion, einschließlich des Commits oder Rollbacks einer Transaktion