【发布时间】:2011-01-25 09:27:36
【问题描述】:
我使用 Sql Compact3.5 作为 C# .NET 的数据库,我可以提供的最大 sdf 大小是多少?有没有办法以编程方式增加 sdf 文件的最大大小?如果有怎么办?
【问题讨论】:
标签: c# sql-server-ce filesize
我使用 Sql Compact3.5 作为 C# .NET 的数据库,我可以提供的最大 sdf 大小是多少?有没有办法以编程方式增加 sdf 文件的最大大小?如果有怎么办?
【问题讨论】:
标签: c# sql-server-ce filesize
在服务器资源管理器中右键单击数据库名称并选择“修改连接”。 单击高级按钮。您可以更改数据库默认大小。
【讨论】:
作为 Benny Jobigan said,您可以通过连接字符串指定最大大小。
但是,指定的大小必须介于 16 和 4091 之间。如果您在此范围内指定大小,则会引发以下异常(来自 C# SQL Server Compact 3.5 库):
System.ArgumentException:ssce:max 数据库大小令牌的值超出了允许值的范围 (16,4091)。
【讨论】:
实际上,Max Database Size在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 文件的名称。
【讨论】:
只是为了人们搜索的利益......
如果您的 SQL CE 数据库已发布并正在使用中,您仍然可以通过更改连接字符串中的最大数据库大小来增加大小(如上)。您不会拘泥于最初选择的值。
【讨论】:
默认情况下,数据库的最大大小为 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。
【讨论】: