Massenkopiervorgänge in SQL Server (ADO.NET)

Aktualisiert: November 2007

Microsoft SQL Server beinhaltet das häufig verwendete Befehlszeilendienstprogramm bcp, mit dem große Dateien schnell in Tabellen oder Ansichten in SQL Server-Datenbanken kopiert werden können. Mit der SqlBulkCopy-Klasse können Sie verwaltete Codelösungen schreiben, durch die ähnliche Funktionen bereitgestellt werden. Es stehen auch andere Möglichkeiten zum Laden von Daten in eine SQL Server-Tabelle zur Verfügung (z. B. INSERT-Anweisungen), SqlBulkCopy weist diesen gegenüber jedoch einen deutlichen Leistungsvorteil auf.

Mit der SqlBulkCopy-Klasse können Daten nur in SQL Server-Tabellen geschrieben 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.

Mit der SqlBulkCopy-Klasse können Sie folgende Vorgänge ausführen:

  • Einzelne Massenkopiervorgänge

  • Mehrere Massenkopiervorgänge

  • Massenkopiervorgänge innerhalb von Transaktionen

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.

Beispiel für die Massenkopiereinrichtung (ADO.NET)

Beschreibt die in den Beispielen für Massenkopiervorgänge verwendeten Tabellen und stellt SQL-Skripts zum Erstellen der Tabellen in der AdventureWorks-Datenbank bereit.

Einzelne Massenkopiervorgänge (ADO.NET)

Beschreibt die Durchführung eines einzelnen Massenkopiervorgangs für Daten in eine Instanz von SQL Server unter Verwendung der SqlBulkCopy-Klasse sowie die Durchführung des Massenkopiervorgangs mithilfe von Transact-SQL-Anweisungen und der SqlCommand-Klasse.

Mehrere Massenkopiervorgänge (ADO.NET)

Beschreibt die Durchführung mehrerer Massenkopiervorgänge in eine Instanz von SQL Server unter Verwendung der SqlBulkCopy-Klasse.

Transaktionen und Massenkopiervorgänge (ADO.NET)

Beschreibt die Durchführung eines Massenkopiervorgangs innerhalb einer Transaktion, einschließlich des Ausführens eines Commit oder Rollback für diese Transaktion.

Community-Beiträge

Anzeigen: