19

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

4

5 回答 5

27

默认情况下,数据库的最大大小为 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。

于 2010-03-09T11:14:37.157 回答
7

实际上,在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 EditionEntity 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 文件的名称。

于 2015-12-16T08:09:22.113 回答
6

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

如果您的 SQL CE 数据库已发布并正在使用中,您仍然可以通过更改连接字符串中的 Max Database Size 来增加大小(如上)。您不会被最初选择的值所束缚。

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

于 2011-09-13T14:55:20.330 回答
6

正如 Benny Jobigan所说,您可以通过连接字符串指定最大大小。

但是,指定的大小必须介于 16 和 4091 之间。如果在此范围内指定大小,则会引发以下异常(来自 C# SQL Server Compact 3.5 库):

System.ArgumentException:ssce:max 数据库大小标记的值超出了允许值的范围 (16,4091)。

于 2012-12-13T18:51:29.367 回答
0

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

于 2012-07-08T06:14:13.270 回答