我使用 Sql Compact3.5 作为 C# .NET 的数据库,我可以提供的最大 sdf 大小是多少?有没有办法以编程方式增加 sdf 文件的最大大小?如果有怎么办?
5 回答
默认情况下,数据库的最大大小为 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。
实际上,在Microsoft SQL CE 4.0中, Max Database Size应该指向 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 数据库已发布并正在使用中,您仍然可以通过更改连接字符串中的 Max Database Size 来增加大小(如上)。您不会被最初选择的值所束缚。
正如 Benny Jobigan所说,您可以通过连接字符串指定最大大小。
但是,指定的大小必须介于 16 和 4091 之间。如果在此范围内指定大小,则会引发以下异常(来自 C# SQL Server Compact 3.5 库):
System.ArgumentException:ssce:max 数据库大小标记的值超出了允许值的范围 (16,4091)。
在服务器资源管理器中右键单击数据库名称,然后选择“修改连接”。单击高级按钮。您可以更改数据库默认大小。