2010-03-09 8 views

Respuesta

5

sólo para el beneficio de personas que buscan ...

Si su base de datos SQL CE se publica y en uso, todavía se puede aumentar el tamaño al cambiar el tamaño máximo de base de datos en la cadena de conexión (como el anterior). No estás atascado con el valor que inicialmente elegiste.

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

+1

Gracias por el enlace. También tenga en cuenta que solo la primera conexión puede reservar la memoria compartida. La segunda conexión no puede hacer nada al respecto, que en mi caso específico está bien. +1 –

0

Haga clic derecho en el nombre de base de datos en el Explorador de servidores y seleccione "Modificar conexión". Haga clic en el botón Avanzado. Puede cambiar el tamaño predeterminado de la base de datos

5

Como Benny Jobigan said, puede especificar un tamaño máximo a través de la cadena de conexión.

Sin embargo, el tamaño especificado debe estar entre 16 y 4091. Si especifica un tamaño exterior si esto, la excepción siguiente (desde el 3,5 biblioteca de C# SQL Server Compact):

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

Gracias por este comentario. Escaneé completamente más allá de los valores min/max listados en el mensaje de error (solo asumí que era un código de error). Esto fue lo primero que encontré en google para señalar que el número es 4091. – SvdSinner

+0

Esta debería ser la respuesta aceptada. La respuesta aceptada actual no proporciona el valor máximo real que puede establecer. –

4

En realidad, Tamaño máximo de la base de datos se debe apuntar como de 16 a 4091 en Microsoft SQL CE 4.0. El valor predeterminado es 257 (Mb). Traté de usar 4096 (exactamente 4Gb) y ocurrió un error. 4091 es un valor válido, y ahora mi cadena de conexión se ve como:

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

Si utiliza Microsoft SQL Compact Edition junto con Entity Framework (yo), la cadena de conexión para EF se ve así:

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

donde Modelo es el nombre de su archivo edmx.

Cuestiones relacionadas