我的C#winforms程序工作的數據庫訪問2007如何使用C#代碼壓縮和修復數據庫訪問2007?
這個數據庫變腫了。
有沒有辦法通過C#代碼壓縮和修復這個數據庫?
如果我去做了手動(通過無線接入)它
感謝的提前變得不那麼腫
我的C#winforms程序工作的數據庫訪問2007如何使用C#代碼壓縮和修復數據庫訪問2007?
這個數據庫變腫了。
有沒有辦法通過C#代碼壓縮和修復這個數據庫?
如果我去做了手動(通過無線接入)它
感謝的提前變得不那麼腫
您可以使用/compact
command line參數爲msaccess.exe,也可以互操作使用,這樣做Compact And Repair我在代碼項目中找到。
使用的MS Access命令行C#示例...
var mdbFileName = Path.GetFullPath("youraccessdb.mdb");
if (!File.Exists(mdbFileName))
throw new FileNotFoundException(
"Could not find Access Database",
mdbFileName);
var programFiles = Environment.GetEnvironmentVariable("ProgramFiles");
var accessPath = Path.Combine(
programFiles,
@"Microsoft Office\Office12\MSACCESS.EXE");
if (!File.Exists(accessPath))
throw new FileNotFoundException(
"Could not find MSACCESS.EXE",
accessPath);
var commandArgs = string.Format("/compact \"{0}\"", mdbFileName);
var process = Process.Start(accessPath, commandArgs);
process.WaitForExit();
if (process.ExitCode != 0)
throw new ApplicationException(string.Format(
"Access Exited with Error Code [{0}]",
process.ExitCode));
如何使用/緊湊?我嘗試c:\ MydataBase.mdb/compact - 但不工作 – Gold 2010-08-03 06:58:41
@ Gold,請參閱我的答案的更新。 – 2010-08-03 18:23:02
這需要安裝完整的Access(我不確定您是否可以使用運行時進行壓縮)。如果它是一個MDB文件,你可以在Win2000以上的任何Windows PC上使用DAO和Jet 4。如果它是ACCDB,那麼你需要安裝ACE,然後你可以使用DAO來完成它,而不需要完整的Access。如果安裝完整的Access 2007/2010,那麼您應該仍然使用DAO,因爲它比運行整個Access更高效。 – 2010-08-03 19:53:34
將訪問這個應用程序運行在計算機上安裝? – 2010-08-02 19:14:24
它是MDB還是ACCDB?如果前者,所有你需要的工具都安裝在Win2000的所有Windows副本上 - 你可以使用Jet 4和DAO來完成壓縮。如果它是ACCDB,如果您沒有安裝完整的Access,則需要安裝驅動程序。 – 2010-08-03 19:51:48