2009-11-23 152 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文件,並可能通過該應用程序輕鬆確定表大小,除非您想以編程方式進行。