2009-10-08 42 views
5

tôi mới ở SQL Server CE và sử dụng Visual Studio 2008, SQL Server CE 3.5. Tôi muốn biết rằng cách tốt nhất để chèn bản ghi số lượng lớn vào cơ sở dữ liệu SQL Server CE là gì? Có BULK INSERT công việc tuyên bố cho SQL Server CE không? Tôi có gần 45 bảng và một số trong các bảng này nên có lượng dữ liệu lớn. Sử dụng command.Prepare là đủ hay có hiệu quả hơn và nhanh chóng?Chèn hàng loạt trong SQL Server CE

Trả lời

13

SQL CE không có lệnh chèn số lượng lớn. Để có hiệu suất thô tốt nhất, hãy mở SqlCeResultset có thể cập nhật bằng cách sử dụng số TableDirectSqlCeCommand là đặt cược nhanh nhất của bạn. Nó bỏ qua bộ xử lý truy vấn hoàn toàn, và thực sự là nhanh như ghi trực tiếp vào một tệp văn bản.

+0

Đó là loại hài hước mặc dù bởi vì các tài liệu MSDN nói rằng TableDirect CHỈ nghĩa vụ phải được sử dụng bởi Các nhà cung cấp OLEDB. Làm như tôi nói, không phải như tôi làm ... "TableDirect chỉ được hỗ trợ bởi Nhà cung cấp dữ liệu .NET Framework cho OLE DB" –

+3

Tôi đoán tôi rất vui vì tôi chưa bao giờ đọc tài liệu. :) – ctacke

+0

Xin lỗi câu hỏi ngu ngốc - bất kỳ ý tưởng nếu đây sẽ là một kịch bản được hỗ trợ bởi MS? Điều này có vẻ khá thú vị, tôi chỉ không muốn đi vào tình huống mà MS sẽ trở lại và không hỗ trợ nếu (nên một trong những yêu cầu nó). – bahree

10

Tôi đã bọc mã chèn số lượng lớn trong một thư viện NuGet, mà bạn có thể sử dụng giống như bạn sử dụng SqlBulkCopy hôm nay: http://sqlcebulkcopy.codeplex.com

+0

Điều tuyệt vời với thư viện Eriks là API bắt chước một trong Sql2008, do đó nếu bạn xây dựng các nhà cung cấp khác nhau, nó sẽ dễ dàng tích hợp. – Daniel

Các vấn đề liên quan