如果达到Sql Server Compact Edition的限制会发生什么

本文关键字:什么 Edition Sql Server Compact 如果 | 更新日期: 2023-09-27 17:58:33

如果数据库达到SQL Server Compact Edition的4GB限制会发生什么?这有什么特别的例外吗?

我可以安全地捕捉这个事件或异常,并创建一个新的数据库吗?

如果达到Sql Server Compact Edition的限制会发生什么

我自己没有经历过这种情况,但看起来会抛出SqlCeException,并且包含的SqlCeError的NativeError属性将具有25104的错误代码(SSCE_M_DATABASETOOBIC)。

这里列出了与数据库引擎错误相关的SqlCeError本机代码——关于数据库文件太大的代码大约有2/3的错误。该列表适用于SQL CE 3.5;你没有具体说明你使用的是什么版本,但我猜它不会改变。

我不明白为什么您不能捕捉到这个异常,然后在catch部分中创建一个新的数据库。

try {
  //do something
} catch (SqlCeException cexc){
  foeach (SqlCeError aError in cexc.Errors) {
    if (aError.NativeError == 25104) {  //this is the code for the TOO BIG error code
      //handle too big error -- maybe create a new database
    }
  }
}

我希望这能有所帮助!