2010-03-09 3 views

ответ

21

Максимальный размер базы данных по умолчанию составляет 128 МБ. Переопределите это, используя следующую строку подключения.

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

(от: http://www.connectionstrings.com/sql-server-2005-ce) и (от: http://msdn.microsoft.com/...)

Абсолютный максимальный размер базы данных 4gb.

+0

благодарит за ответ. Я обязательно попробую! – Jankhana

5

Только на благо людей, которые ищут ...

Если база данных SQL CE опубликована и в использовании, вы можете увеличить размер, изменяя Макс размер базы данных в строке соединения (как описано выше). Вы не придерживаетесь значения, которое вы изначально выбрали.

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

+1

Спасибо за ссылку. Также обратите внимание, что только первое соединение может резервировать общую память. Второе соединение ничего не может с этим поделать, что в моем конкретном сценарии в порядке. +1 –

0

Щелкните правой кнопкой мыши на имени базы данных в Server Explorer и выберите "Изменить подключение". Нажмите кнопку «Дополнительно». Вы можете изменить размер базы данных по умолчанию.

5

Как Benny Jobigan said, вы можете указать максимальный размер через строку соединения.

Однако размер, указанный должен быть между 16 и 4091. Если вы задаете размер снаружи, если это следующее исключение выбрасывается (из 3.5 библиотеки C# SQL Server Compact):

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

Спасибо за этот комментарий. Я полностью просмотрел перечисленные значения min/max в сообщении об ошибке (предположил, что это был код ошибки). Это было первое, что я нашел через Google, чтобы указать число 4091. – SvdSinner

+0

Это должен быть принятый ответ. Текущий принятый ответ не дает фактического максимального значения, которое вы можете установить. –

4

На самом деле, Макс. Размер базы данных следует указывать как от 16 до 4091 в Microsoft SQL CE 4.0. Значение по умолчанию - 257 (Мб). Я попытался использовать 4096 (ровно 4 ГБ) и возникла ошибка. 4091 является допустимым значением, и теперь моя строка подключения выглядит следующим образом:

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

Если вы используете Microsoft SQL Compact Edition вместе с Entity Framework (я), строка соединения для EF выглядит следующим образом:

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); 

где Model - это имя вашего файла edmx.