2011-08-03 13 views
0

私はMs-Accessデータベース(2003)を持っており、OledbExceptionが発生していることに気付きました:データベースサイズが2GBを超えたときデータベースのサイズ)。Ms-Accessデータベースを検出する方法は、Cシャープを使用して最大サイズを超えます

とにかく、この例外が原因データベースが最大サイズを超えたことを理由に正確に投げられたことを検出するのがです。(私は、バックアップにデータベースを、それを必要とする)...事前

感謝これはどう

+2

私はそれが爆発する前にバックアップする必要があると思います。 –

+0

それはより良いだろう、そしてあなたはそれを行う方法を教えてくれる? –

+0

ファイルパスを得ることができれば、FileInfoは長さを知ることができます。 –

答えて

1

:もちろん

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を十分に大きく設定すると、1回の挿入のたびに実行する頻度が少なくなります。

関連する問題