2009-10-08 18 views
5

Jestem nowy w SQL Server CE i przy użyciu Visual Studio 2008, SQL Server CE 3.5. Chcę wiedzieć, jaki jest najlepszy sposób wstawiania zbiorczych rekordów do bazy danych SQL Server CE? Czy instrukcja BULK INSERT działa dla SQL Server CE? Mam prawie 45 tabel, a niektóre z tych tabel powinny zawierać dużą ilość danych. Korzystanie z command.Prepare wystarczy lub jest bardziej efektywny i szybki sposób?Wstawianie zbiorcze w SQL Server CE

Odpowiedz

13

SQL CE nie ma komendy wstawiania zbiorczego. W celu uzyskania najlepszego nieprzetworzonego otworu wydajnościowego najlepszym rozwiązaniem jest aktualizacja SqlCeResultset przy użyciu TableDirectSqlCeCommand. Pomija on procesor kwerendy i jest tak szybki, jak bezpośredni zapis do pliku tekstowego.

+0

To rodzaj zabawne, choć ze względu docs MSDN stwierdzić, że TableDirect jest tylko powinien być stosowany przez Dostawcy OLEDB. Rób tak, jak mówię, nie tak jak ja ... "TableDirect jest obsługiwany tylko przez dostawcę danych .NET Framework dla OLE DB" –

+3

Sądzę, że cieszę się, że nigdy nie czytałem dokumentów. :) – ctacke

+0

Przepraszam głupie pytanie - jakiś pomysł, czy to byłby wspierany scenariusz przez MS? Wydaje się to dość interesujące, po prostu nie chcę dostać się do sytuacji, w której MS wróci i nie będzie obsługiwać, jeśli (powinien tego wymagać). – bahree

10

mam owinięty sypkiego kod insert w bibliotece Nuget, że można użyć jak użyć SqlBulkCopy dzisiaj: http://sqlcebulkcopy.codeplex.com

+0

Fajną rzeczą w bibliotece Eriks jest to, że API naśladuje ten znaleziony w Sql2008, dlatego jeśli tworzysz różnych dostawców, będzie to łatwe do zintegrowania. – Daniel

Powiązane problemy