c# - 如果达到 Sql Server Compact Edition 的限制会怎样?

标签 c# sql-server-ce

如果数据库达到 SQL Server Compact Edition 的 4GB 限制会怎样?这有特殊的异常(exception)吗?

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

最佳答案

我自己没有经历过,但它看起来像一个 SqlCeException将被抛出并且包含 SqlCeErrorNativeError 属性错误代码为 25104 (SSCE_M_DATABASETOOBIG)。

这是一个 listing SqlCeError 与数据库引擎错误相关的 native 代码——关于数据库文件太大的代码大约减少了 2/3。该 list 适用于 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
    }
  }
}

希望对您有所帮助!

关于c# - 如果达到 Sql Server Compact Edition 的限制会怎样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6254689/

相关文章:

C# 正则表达式来验证日期?

c# - 在 C# 中获取操作系统版本/友好名称

c# - 如何从 ArrayList 创建逗号分隔的字符串?

F# SqlDataConnection TypeProvider 不适用于 Sql Server Ce

c# - Entity Framework 代码的 SQL Server Compact 4.0 连接字符串优先?

.net - 连接字符串中的 SQL Server Compact 'Data Directory' 宏 - 需要更多信息

c# - SQL Server CE 没有从另一个进程中获取更新?

c# - 使用 like 执行查询不起作用

c# - 如何获取 xml 架构 (xsd) 的 cs 文件

c# - 如何检测文件是否在网络上?