以编程方式确定 SQL Server Compact sdf 文件的大小

Posted

技术标签:

【中文标题】以编程方式确定 SQL Server Compact sdf 文件的大小【英文标题】:Programmatically determine the size of a SQL Server Compact sdf file 【发布时间】:2015-06-12 13:33:50 【问题描述】:

我正在共享主机中运行 ASP.NET MVC 应用程序。我的数据位于 SQL Server Compact 数据库“sdf”文件中。

我的磁盘空间有限。我担心我会超过这个限制,我的网站会崩溃。我可以通过 FTP 进入我的帐户,然后检查 sdf 文件的大小,但这是一个缓慢的手动操作过程。

那么,在运行期间,除了连接字符串,我可以确定数据库在磁盘上的大小吗?

【问题讨论】:

你看过了吗:***.com/questions/25637076/… or c-sharpcorner.com/UploadFile/0f68f2/… 你可以解析连接字符串并根据文件名读取磁盘上的文件大小 @Greg SO 链接不是那么有用,但是那篇博客文章非常有用! 由于您是手动进行 FTP 传输,因此您可以使用 .NET FTP 客户端从应用程序中执行相同操作 :) @hbob 如果你有共享主机,我怀疑你有磁盘权限。 【参考方案1】:

是的,你可以。

FileInfo fi = new FileInfo(pathTosdfFile);
long fs = fi.Length; //your file size in bytes

顺便说一句,您可以在连接字符串中限制 sdf 文件的最大大小

Data Source=your.sdf;Max Database Size=256;

这将限制增长超过 256MB - 如果我没记错,默认为 128MB

你的数据库路径应该是这样的:

 string path =   System.IO.Path.GetDirectoryName
   (System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\your.sdf;

【讨论】:

没想到这对我有用。然后我发现我们的共享主机实际上完全信任地运行我们的应用程序。所以它起作用了。

以上是关于以编程方式确定 SQL Server Compact sdf 文件的大小的主要内容,如果未能解决你的问题,请参考以下文章

C# - 以编程方式创建 SQL Server 表

如何以编程方式创建新的本地 SQL Server 实例?

如何以编程方式确定哪些 SQL 表具有标识列

以编程方式创建 SQL Server 代理作业

SQL Server 2005 - 以编程方式导出表(运行 .sql 文件来重建它)

如何在.NET中以编程方式在SQL Server中获取VIEW的sql代码