【问题标题】:What happens if limit of Sql Server Compact Edition is reached?如果达到 Sql Server Compact Edition 的限制会怎样?
【发布时间】:2011-06-06 15:55:58
【问题描述】:

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

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

【问题讨论】:

    标签: c# sql-server-ce


    【解决方案1】:

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

    这里是SqlCeError 中的listing 与数据库引擎错误相关的本机代码——关于数据库文件太大的问题大约是下降了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
        }
      }
    }
    

    我希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      相关资源
      最近更新 更多