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

时间:2011-06-06 15:55:58

标签: c# sql-server-ce

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

我可以安全地捕获此事件或异常,并且,比方说,创建一个新数据库吗?

1 个答案:

答案 0 :(得分:8)

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

这是与{db}引擎错误相关的SqlCeErrorcatch本机代码 - 关于db文件过大的问题大约是下行的2/3。该列表适用于SQL CE 3.5;你没有指定你使用的版本,但我猜它不会改变。

我不明白为什么你无法捕获此异常,然后在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 } } } 部分创建一个新数据库。

{{1}}

我希望这有帮助!