Подтвердить что ты не робот

Что произойдет, если будет достигнут предел Sql Server Compact Edition?

Что произойдет, если база данных достигнет предела в 4 ГБ SQL Server Compact Edition? Есть ли для этого особое исключение?

Могу ли я безопасно поймать это событие или исключение и, допустим, создать новую базу данных?

4b9b3361

Ответ 1

Я сам этого не испытал, но выглядит как SqlCeException, и свойство NativeError содержащегося SqlCeError будет иметь код ошибки 25104 (SSCE_M_DATABASETOOBIG).

Здесь листинг SqlCeError Исходные коды, связанные с ошибками движка db - тот, что слишком большой размер файла db, составляет около 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
    }
  }
}

Надеюсь, это поможет!