2010-03-09 25 views

Trả lời

21

Kích thước tối đa của cơ sở dữ liệu theo mặc định là 128 MB. Ghi đè điều này bằng cách sử dụng chuỗi kết nối sau.

Data Source=MyData.sdf;Max Database Size=256;Persist Security Info=False; 

(từ: http://www.connectionstrings.com/sql-server-2005-ce) và (từ: http://msdn.microsoft.com/...)

Kích thước tối đa tuyệt đối của cơ sở dữ liệu là 4gb.

+0

cảm ơn câu trả lời. Tôi chắc chắn sẽ thử điều đó !!! – Jankhana

5

Chỉ vì lợi ích của những người tìm kiếm ...

Nếu cơ sở dữ liệu SQL CE bạn được xuất bản và được sử dụng, bạn vẫn có thể tăng kích thước bằng cách thay đổi cơ sở dữ liệu Max Kích thước trong chuỗi kết nối (như trên). Bạn không bị mắc kẹt với giá trị ban đầu bạn chọn.

http://blogs.msdn.com/b/sqlservercompact/archive/2007/06/13/the-story-of-max-database-size-connection-string-parameter.aspx

+1

Cảm ơn bạn đã liên kết. Cũng lưu ý rằng chỉ kết nối đầu tiên mới có thể đặt trước bộ nhớ dùng chung. Kết nối thứ hai không thể làm bất cứ điều gì về nó, mà trong kịch bản cụ thể của tôi là ok. +1 –

0

Right Click vào tên cơ sở dữ liệu trong Server Explorer và chọn "Modify Connection". Nhấp vào Nút nâng cao. Bạn có thể thay đổi kích thước mặc định của cơ sở dữ liệu

5

Vì Benny Jobigan said, bạn có thể chỉ định kích thước tối đa qua chuỗi kết nối.

Tuy nhiên, kích thước quy định phải có từ 16 đến 4091. Nếu bạn chỉ định một kích thước bên ngoài nếu điều này, các ngoại lệ sau đây được ném (từ 3,5 thư viện C# SQL Server Compact):

System.ArgumentException: The value of ssce:max database size token is outside of range of allowed values (16,4091). 
+0

Cảm ơn bạn đã nhận xét này. Tôi hoàn toàn quét qua các giá trị tối thiểu/tối đa được liệt kê trong thông báo lỗi (Chỉ cần giả định đó là mã lỗi) Đây là điều đầu tiên tôi tìm thấy qua google để chỉ ra số là 4091. – SvdSinner

+0

Đây phải là câu trả lời được chấp nhận. Câu trả lời được chấp nhận hiện tại không cung cấp giá trị tối đa thực tế mà bạn có thể đặt. –

4

Trên thực tế, Kích thước cơ sở dữ liệu tối đa phải được chỉ từ 16 đến 4091 trong Microsoft SQL CE 4.0. Giá trị mặc định là 257 (Mb). Tôi đã cố gắng sử dụng 4096 (chính xác 4Gb) và lỗi xảy ra. 4091 là giá trị hợp lệ, và bây giờ chuỗi kết nối của tôi trông giống như:

Data Source=file.sdf; Max Database Size=4091 

Nếu bạn sử dụng Microsoft SQL Compact Edition cùng với Entity Framework (I do), chuỗi kết nối cho EF trông như thế này:

string template = "metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl;provider=System.Data.SqlServerCe.4.0;" 
       + "provider connection string=\";Data Source={0}; Max Database Size=4091 \";"; 
string s1 = string.Format(template, SdfFilePath); 

trong đó Mô hình là tên tệp edmx của bạn.

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