2011-08-03 48 views
0

我有一個Ms-Access數據庫(2003),並且我注意到它提供了OledbException:數據庫大小超過2GB時出現無效參數(這是最大值數據庫的大小)。如何檢測Ms-Access數據庫超過使用c sharp的最大大小

反正是有檢測這個異常被提前

拋出正是由於在該數據庫已超過其最大容量的原因。(我也需要備份,則數據庫)...

謝謝

+2

我認爲你需要備份_before_它爆炸。 –

+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設置得足夠大,則可以比每次插入後運行得更少。

相關問題