使用C#增加sql compact 3.5 .sdf文件的大小

时间:2010-03-09 11:02:48

标签: c# sql-server-ce filesize

我正在使用Sql Compact3.5作为我的数据库与C#.NET我可以给出的最大sdf大小是多少?有没有办法以编程方式增加sdf文件的最大大小?如果是这样怎么样?

5 个答案:

答案 0 :(得分:23)

默认情况下,数据库的最大大小为128 MB。使用以下连接字符串覆盖它。

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。

答案 1 :(得分:5)

只是为了搜索人们的利益......

如果您的SQL CE数据库已发布并正在使用,您仍可以通过更改连接字符串中的最大数据库大小来增加大小(如上所述)。你没有坚持你最初选择的价值。

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

答案 2 :(得分:5)

作为Benny Jobigan said,您可以通过连接字符串指定最大大小。

但是,指定的大小必须介于16和4091之间。如果指定大小,则抛出以下异常(来自C#SQL Server Compact 3.5库):

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

答案 3 :(得分:5)

实际上,最大数据库大小应指向 Microsoft SQL CE 4.0 中的16到4091。默认值为257(Mb)。我试图使用4096(正好是4Gb)并发生错误。 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文件的名称。

答案 4 :(得分:0)

在服务器资源管理器中右键单击数据库名称并选择"修改连接"。 单击“高级按钮”。您可以更改数据库默认大小