2011-08-03 2 views
0

Ms-Access 데이터베이스 (2003)가 있으며 데이터베이스가 2GB를 초과하면 잘못된 인수가 표시됩니다. 데이터베이스의 크기).Ms-Access 데이터베이스를 탐지하는 방법은 C를 사용하여 최대 크기를 초과합니다.

어쨌든이 예외가 사전

정확히 데이터베이스가 최대 크기를 초과하는 이유. (나는 백업 다음 데이터베이스를 필요) ...에

감사 인해 발생 된 것을 감지 있는가 이 방법에 대해

+2

나는 폭발하기 전에 백업해야한다고 생각합니다. –

+0

그게 더 좋을거야, 그리고 당신이 할 수있는 방법을 말해 pls ??? –

+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을 충분히 크게 설정하면 매번 삽입 할 때보 다 덜 실행할 수 있습니다.