Как определить, что база данных Ms-Access превышает максимальный размер с помощью диез - PullRequest
0 голосов
/ 03 августа 2011

У меня есть база данных Ms-Access (2003), и я заметил, что она выдает OledbException: неверный аргумент, когда размер базы данных превышает 2 ГБ (что является максимальным размером базы данных).

Есть ли в любом случае обнаружение, что это исключение было вызвано именно из-за того, что база данных превысила свой максимальный размер (тогда мне нужно сделать резервную копию базы данных) ...

Заранее спасибо

1 Ответ

1 голос
/ 03 августа 2011

Как насчет этого:

constant long TWO_G = (2*1024*1024*1024); 
constant long MARGIN = (8 * 1024 * 1024); 
string pathToMonsterMdb = "monster.mdb";
FileInfo mdb = new FileInfo(pathToMonsterMdb);
long len = mdb.Length;
if (len > (TWO_G - MARGIN) {
   /* File's getting close to max size.  Deal with it. */
}

Конечно, реальный вопрос на самом деле, что делать с этой проблемой. Имея базу данных такого размера, вы, вероятно, захотите перейти на более надежный сервер таблиц.

Если вы установили MARGIN достаточно большим, вы можете запускать его реже, чем после каждой отдельной вставки.

...