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

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

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

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

【问题讨论】:

  • 你可以解析连接字符串并根据文件名读取磁盘上的文件大小
  • @Greg SO 链接不是那么有用,但是那篇博客文章非常有用!
  • 由于您是手动进行 FTP 传输,因此您可以使用 .NET FTP 客户端从应用程序中执行相同操作 :)
  • @hbob 如果你有共享主机,我怀疑你有磁盘权限。

标签: c# asp.net sql-server asp.net-mvc sql-server-ce


【解决方案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;

【讨论】:

  • 没想到这对我有用。然后我发现我们的共享主机实际上完全信任地运行我们的应用程序。所以它起作用了。
猜你喜欢
  • 2011-01-25
  • 1970-01-01
  • 1970-01-01
  • 2010-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多