2009-10-08 12 views
5

Ich bin neu bei SQL Server CE und Visual Studio 2008, SQL Server CE 3.5 verwenden. Ich möchte wissen, dass die beste Möglichkeit zum Einfügen von Massenaufzeichnungen in SQL Server CE-Datenbank? Funktioniert BULK INSERT Anweisung für SQL Server CE? Ich habe fast 45 Tabellen und einige dieser Tabellen sollten große Datenmengen haben. Mit command.Prepare ist genug oder gibt es einen effizienteren und schnelleren Weg?Masseneinfügung in SQL Server CE

Antwort

13

SQL CE verfügt nicht über einen Masseneinfügebefehl. Für die beste rohe Leistung ist die Eröffnung eines aktualisierbaren SqlCeResultset mit einem TableDirectSqlCeCommand Ihre schnellste Wette. Es umgeht den Abfrageprozessor insgesamt und ist ungefähr so ​​schnell wie direkt in eine Textdatei schreiben.

+0

dass, obwohl irgendwie komisch ist, weil die MSDN-Dokumentation fest, dass Tabledirect nur verwendet werden, soll durch OLEDB-Anbieter. Tun Sie, wie ich sage, nicht so wie ich ... "TableDirect wird nur von der .NET Framework Data Provider für OLE DB unterstützt" –

+3

Ich denke, ich bin froh, dass ich nie die Dokumente dann lesen. :) – ctacke

+0

Sorry dumme Frage - eine Idee, ob dies ein unterstütztes Szenario von MS wäre? Dies scheint ziemlich interessant zu sein, ich möchte einfach nicht in die Situation kommen, in der MS zurückkommen würde und nicht unterstützen würde (sollte man es benötigen). – bahree

10

Ich habe den Großeinsatz Code in einer NuGet Bibliothek eingewickelt, dass Sie sich wie Sie SqlBulkCopy verwenden heute verwenden können: http://sqlcebulkcopy.codeplex.com

+0

Das Schöne an der Eriks-Bibliothek ist, dass die API die in Sql2008 gefundene API nachahmt. Wenn Sie also verschiedene Anbieter erstellen, wäre es einfach zu integrieren. – Daniel

Verwandte Themen