2011-11-26 74 views
0

我有一個約400萬行的Access數據庫表。我想要做什麼來使用MS Access Design View添加具有自動編號類型的列(字段)。但是,當我試圖這樣做時,訪問提供了一個錯誤,並說:「查詢無法完成,或者查詢的大小大於允許的最大大小(2 GB)或者沒有足夠的臨時空間來執行此操作「。新列不能被添加到Access數據庫

我所擁有的是:

Column1 Column2 . . . 
------- ------- 

我想擁有的是:

Number Column1 Column2 . . . 
------ ------- ------- 

我試過到目前爲止:每個文件值

  • 變化MAXLOCKS從註冊表中。
  • 使用Access壓縮和修復數據庫。

有什麼辦法解決這一問題?或者有沒有其他方法可以做我想做的事情?

+1

它告訴你你已經達到了Access的最大能力。檢查將數據庫移動到其他位置,可能是SQLServer或mySQL。 –

+0

@JonathanM你應該寫這個答案:),我試圖在SQL 2008,它的工作。如果你寫這個答案,我會接受,謝謝你的提示。 – LuckySlevin

+0

根據您的要求完成。 –

回答

1

根據OP請求:

它告訴你你正在達到Access的最大能力。檢查到數據庫移動到別的東西,也許是的SQLServer或MySQL

1

嘗試創建一個新表,比舊錶都推到新的。最終你可以刪除舊的並重新命名新的。 如果你有關係,你也需要處理它們。 由於自動編號是一個新的列,我猜它還沒有涉及任何他們......

和@jonathan評論是正確的......移動到SQL Express或SQL服務器(MS世界)或MySQL如果你有從你的應用程序提供它的提供者。

0

良好的數據管理是關鍵,任何數據庫,但更多的訪問,因爲它確實有尺寸/性能限制VS專用的數據庫服務器。

你應該看看某種形式的檔案工作得到了非常大的數據集,如果移動到專用服務器是不是一種選擇,例如移動超過6個月的數據(時間長度將取決於您添加的數據量)

另外,查看請求,好像您可能想添加自動編號字段來唯一標識您的記錄,如果是這種情況,那麼最好確保您在表創建時設置了唯一標識符(主鍵)。

除了這些之外,您可以嘗試以下操作: 將數據庫移動到本地驅動器(如果尚未安裝的話),並有足夠的可用空間。 確保您在具有大量RAM和虛擬內存的計算機上運行。 執行一個壓縮和修復您的數據庫,因爲這可能會充分減少您的表的大小(這可能需要一段時間)。 嘗試再次添加自動編號列。