Jan*_*ana 18 c# filesize sql-server-ce
我使用Sql Compact3.5作为我的数据库与C#.NET我可以给出的最大sdf大小是多少?有没有办法以编程方式增加sdf文件的最大大小?如果是这样的???
Ben*_*gan 25
默认情况下,数据库的最大大小为128 MB.使用以下连接字符串覆盖它.
Data Source=MyData.sdf;Max Database Size=256;Persist Security Info=False;
Run Code Online (Sandbox Code Playgroud)
(来自:http://www.connectionstrings.com/sql-server-2005-ce)和(来自:http://msdn.microsoft.com/...)
数据库的绝对最大大小为4GB.
只是为了搜索人们的利益......
如果您的SQL CE数据库已发布并正在使用,您仍可以通过更改连接字符串中的最大数据库大小来增加大小(如上所述).你没有坚持你最初选择的价值.
正如Benny Jobigan 所说,您可以通过连接字符串指定最大大小.
但是,指定的大小必须介于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).
Run Code Online (Sandbox Code Playgroud)
小智 5
实际上,最大数据库大小应指向Microsoft SQL CE 4.0中的 16到4091 .默认值为257(Mb).我试图使用4096(正好是4Gb)并发生错误.4091是有效值,现在我的连接字符串如下所示:
Data Source=file.sdf; Max Database Size=4091
Run Code Online (Sandbox Code Playgroud)
如果您使用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);
Run Code Online (Sandbox Code Playgroud)
其中Model是edmx文件的名称.