The Artima Developer Community
Sponsored Link

.NET Buzz Forum
Daten-Transfer mittels SqlBulkCopy beschleunigen

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
-

Posts: 1524
Nickname: nitronic
Registered: Jul, 2006

Norbert Eder works as a software architect.
Daten-Transfer mittels SqlBulkCopy beschleunigen Posted: Jan 10, 2007 3:45 PM
Reply to this message Reply

This post originated from an RSS feed registered with .NET Buzz by -.
Original Post: Daten-Transfer mittels SqlBulkCopy beschleunigen
Feed Title: Norbert Eder - Living .NET
Feed URL: http://feeds.feedburner.com/NorbertEder-Livingnet
Feed Description: Copyright (c)2005, 2006 by Norbert Eder
Latest .NET Buzz Posts
Latest .NET Buzz Posts by -
Latest Posts From Norbert Eder - Living .NET

Advertisement
Daten von einem Datenbank-System auf das andere zu verschieben ist ansich keine gro��e Sache. Interesant wird es dann, wenn Performance gefragt ist. Wird das Ziel durch einen Microsoft SQL Server repr��sentiert, gibt es seit .NET 2.0 die Klasse SqlBulkCopy, die hier sehr gute Dienste leistet.

Durch ein BulkCopy ist es m��glich eine gesamte DataTable zu transferieren ohne s��mtliche Commands einzeln abzusetzen.

An dieser Stelle sei darauf hingewiesen, dass ein SqlBulkCopy nur mit einem Microsoft SQL Server als Ziel funktioniert. Die Quelle kann ein x-beliebiges Datenbank Management System darstellen.

Die Verwendung gestaltet sich einfach:

public static void BulkCopy (SqlConnection connection, string destinationTable, DataTable dataTable)
{
SqlBulkCopy sbc = new SqlBulkCopy(connection);
sbc.DestinationTableName = destinationTable;
sbc.WriteToServer(dataTable);
}

In diesem Beispiel werden einer Methode eine g��ltige Verbindung zu einem SQL Server, der Name der Zieltabelle, als auch eine DataTable ��bergeben. Mit diesen Informationen ist es m��glich die gesamten Daten der DataTable in die Zieltabelle zu kopieren. Hier gilt es zu beachten, dass die Methode WriteToServer weitere ��berladungen besitzt, mit der beispielsweise auch ein DataRow-Array kopiert werden kann.

Der Typ SqlBulkCopy bietet jedoch noch weitere M��glichkeiten. Durch die Eigenschaft NotifyAfter ist es m��glich eine Benachrichtigung zu definieren. Wird beispielsweise ein Wert von 1.000 gesetzt, wird nach 1.000 verarbeiteten Datens��tzen das Event SqlRowsCopied ausgel��st. Dadurch ist es m��glich, eine Fortschrittsanzeige zu realisieren.

Weitere Informationen zum Thema Bulk-Copies mit dem Microsoft SQL Server finden sich unter http://msdn2.microsoft.com/en-us/library/system.data.sqlclient.sqlbulkcopy.aspx..

Read: Daten-Transfer mittels SqlBulkCopy beschleunigen

Topic: Janett (Java to .Net Translator) 0.6 has been released Previous Topic   Next Topic Topic: Variable Anzahl an Methoden-Parametern

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use