2010-03-09 13 views

Odpowiedz

5

tylko z korzyścią dla ludzi szukających ...

Jeśli baza danych SQL CE i są publikowane w użyciu, można jeszcze zwiększyć rozmiar poprzez zmianę maksymalny rozmiar bazy danych w ciągu połączenia (jak wyżej). Nie utknąłeś z wartością, którą pierwotnie wybrałeś.

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

+1

Dzięki za link. Należy również pamiętać, że tylko pierwsze połączenie może zarezerwować pamięć współużytkowaną. Drugie połączenie nie może nic z tym zrobić, co w moim scenariuszu jest w porządku. +1 –

0

prawym przyciskiem myszy na nazwę bazy danych w Server Explorer i wybierz "Modyfikuj Connection". Kliknij przycisk Zaawansowane. Możesz zmienić bazę danych Domyślny rozmiar

5

Jako Benny Jobigan said możesz określić maksymalny rozmiar za pomocą ciągu połączenia.

Jednak wielkość określona musi być pomiędzy 16 i 4091. W przypadku określenia rozmiaru zewnątrz jeśli tego, jest następujący wyjątek (od C# SQL Server Compact 3.5 biblioteki):

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

Dziękuję za ten komentarz. Całkowicie przeskanowałem minął podane wartości min/max w komunikacie o błędzie (Po prostu zakładałem, że był to kod błędu) To była pierwsza rzecz, którą znalazłem za pośrednictwem google, aby wskazać, że numer to 4091. – SvdSinner

+0

To powinna być zaakceptowana odpowiedź. Bieżąca zaakceptowana odpowiedź nie daje faktycznej maksymalnej wartości, którą możesz ustawić. –

4

Faktycznie, Maksymalny rozmiar bazy danych należy wskazać jako od 16 do 4091 w Microsoft SQL CE 4.0. Domyślna wartość to 257 (Mb). Próbowałem użyć 4096 (dokładnie 4Gb) i wystąpił błąd. 4091 jest ważna wartość, a teraz mój ciąg połączenia wygląda następująco:

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

Jeśli używasz Microsoft SQL Compact Edition wraz z Entity Framework (ja), ciąg połączenia EF wygląda następująco:

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

gdzie Model jest nazwą pliku edmx.

Powiązane problemy