2009-11-23 150 views
1

我正在寻找紧凑框架的C#代码来确定数据库表(在SDF文件内)的当前大小。表名“LogTable”SQL CE数据库大小

有没有人有任何代码示例来确定如何实现。作为代码抛出异常我不能使用存储的过程,因为这是不支持:-(

我曾尝试使用以下::

代码(SqlCeCommand CMD = sql_conn.Connection.CreateCommand()) {

  cmd.CommandText = "exec sp_spaceused"; 

      cmd.CommandType = CommandType.StoredProcedure; 
      cmd.CommandTimeout = 60;    
      cmd.ExecuteNonQuery(); 
     } 

也试过cmd.CommandText = “注释sp_spaceused”;并且有一个例外,这是不支持

感谢:-)

回答

1

根据此KB Article,它看起来像只能估计SQL CE表大小。

1

SQLCE/SQL Mobile 2005将行大小限制为8 Kb。如果你知道你的列定义,你可以估计你的行大小并乘以行数来确定你的表大小。 SQLCE/SQL Mobile 2005不支持存储过程(因为您已经想到了!)

您还可以使用SQL Management Studio 2005读取和修改.sdf文件,并可能通过该应用程序轻松确定表大小,除非您想以编程方式进行。