2009-10-08 27 views
5

SQL Server CEおよびVisual Studio 2008、SQL Server CE 3.5を初めて使用しています。私は、SQL Server CEデータベースに一括レコードを挿入する最良の方法は何ですか? BULK INSERTステートメントはSQL Server CEで動作しますか?私はほぼ45のテーブルを持っており、これらのテーブルのいくつかは大量のデータを持つべきです。 command.Prepareを使用すれば十分ですか、より効率的で高速な方法がありますか?SQL Server CEで一括挿入

答えて

13

SQL CEに一括挿入コマンドがありません。最高の生のパフォーマンスを得るには、 SqlCeCommandを使用して更新可能なSqlCeResultsetを開くことが最速の賭けです。これは、クエリプロセッサを完全にバイパスし、実際にはテキストファイルに直接書き込むほど高速です。

+0

OLEDBプロバイダ。私が言うのと同じようにしてください... "TableDirectはOLE DB用の.NET Frameworkデータプロバイダでのみサポートされています" –

+3

私はこのドキュメントを読んだことがないとうれしいですね。 :) – ctacke

+0

申し訳ありませんが、愚かな質問 - これはこれがMSによってサポートされたシナリオになるかどうか?これはかなり興味深いようですが、私はMSが戻ってきて、サポートしていない状況に入ることを望んでいません。 – bahree

10

私はあなたが今日SqlBulkCopyを使用するようにあなたが使用できる、NuGetライブラリで一括挿入コードをラップしている:MSDNのドキュメントがTableDirectがONLYで使用されることを想定していると述べているので、しかし一種の面白いですhttp://sqlcebulkcopy.codeplex.com

+0

Eriksライブラリの素晴らしい点は、APIがSql2008で見つかったものを模倣していることです。そのため、異なるプロバイダを構築すると簡単に統合できます。 – Daniel

関連する問題