Что произойдет, если будет достигнут предел Sql Server Compact Edition?
Что произойдет, если база данных достигнет предела в 4 ГБ SQL Server Compact Edition? Есть ли для этого особое исключение?
Могу ли я безопасно поймать это событие или исключение и, допустим, создать новую базу данных?
Ответ 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
}
}
}