2009-09-30 45 views
3

我被要求提供一個估算,以便將使用MS Access設計的相對較小的應用程序更改爲使用SQL數據庫。可以將Microsoft Access Forms應用程序切換到SQL後端工作嗎?

首先,這甚至有可能嗎?我從來沒有用Access做過足夠的工作,所以我想知道。如果可能的話,請你指點一些網站和關於這個的教程?

第二:如果有可能,是否推薦?這是一個很大的表現嗎?您可以並想要分享的任何具體的do/donts?

在此先感謝您的幫助。

回答

5

雖然需要徹底的測試,但SQL Server升遷相對比較容易。我估計在初始系統開發的5%到10%的努力。建議在特定情況下(如超過25到50位用戶或24x7訪問權限)或在發生損壞時更新密鑰數據中遇到困難/不可能時,建議升級SQL Server。

見我Random Thoughts on SQL Server Upsizing from Microsoft Access Tips page

有從SQL Server group SQL Server Migration Assistant for Access (SSMA Access)比升遷嚮導好了很多的工具。

+0

如果我沒有弄錯,SSMA只存在於SQL Server 2005及更高版本,不是嗎? – 2009-09-30 02:35:06

+0

謝謝大家對答案的回答和意見/投入。我從每個答案中獲得了真實的好消息,並且我將Tony的答覆標記爲答案,因爲它爲網站提供了有關該主題的非常全面的材料鏈接。再次,謝謝大家。 – GR7 2009-09-30 06:06:48

0

這將告訴您如何訪問轉換到SQL Server:

http://support.microsoft.com/kb/237980

現在,這取決於應用程序的編寫(語言等),它的其餘部分可能是一個頗有幾分更多的工作。然而,要在這一個球場上投球是非常困難的,因爲這個變量的數量很大。無論如何,這是可能的,所以這不是問題。

就性能而言,如果數據庫很小,那麼Access實際上可能會更快。如果數據庫很大,您將從SQL服務器獲得。除此之外,您可以將分佈式客戶端和一個數據存儲集中在一起,這是一個優點。

順便說一句,如果這是使用.NET框架編寫的,它可能會簡單得多。

+0

性能差異與數據集大小不成線性關係。性能受*應用程序所控制 - 如果它依賴於特定於Jet的功能,或者使用對Jet有效但數據服務器效率低下的數據檢索技術,則性能會受到影響。一次升遷幾乎不會發生的一件事就是全面提升性能。有幾件事情會明顯加快,少數速度會明顯變慢,其他大部分事情會大致相同(儘管對於大多數中等規模的Access應用程序而言,速度會稍慢一些)。 – 2009-09-30 02:38:54

+0

re:.Net - 我認爲這個問題很明顯,這是一個使用Jet/ACE數據存儲的Access應用程序。 – 2009-09-30 02:39:41

+0

@大衛對我來說,我不使用Access和我所做的.NET大部分東西都是Web服務或Windows應用程序不使用數據庫。但總的來說,我發現這個問題有點開放,因爲一個「相對較小」的應用程序是一個意見問題,而一個編碼不好的小應用程序可能意味着需要做出巨大的改變。 – 2009-09-30 03:20:54

0

這將是相當容易做(希望)。在Access中,您可以創建鏈接表,它們只是鏈接到其他數據庫(如SQL Server)中的表的鏈接,因此您可以將現有的應用程序替換爲具有相同名稱鏈接的所有Access表,並將其替換爲SQL Server中的表數據庫。

我認爲這樣做可能是性能影響,取決於具體情況。訪問非常高效,但只有少量的併發用戶(比如少於30人)。因此,如果應用程序擁有大量用戶,您將從切換到SQL Server中受益。但是,如果SQL Server數據庫託管在另一臺計算機上,那麼通過連接到遠程服務器上的數據庫(而不是連接到本地Access數據庫)會損失性能。

我不會個人推薦這樣做。

+0

請不要使用術語「虛擬」表。這些是「鏈接」表。 你從哪裏得到少於5個用戶?我有25個用戶在Access工作的客戶很好。 – 2009-09-30 02:24:33

+0

這個答案是好的,除了僞造的5用戶聲明。如果@MusiGenesis會編輯它,我會給它一個投票。 – 2009-09-30 02:34:31

+0

用戶的正確數量是多少?我會把它放進去。「5」是基於對Access的個人體驗,但是從很多年前(超過10次)。 – MusiGenesis 2009-09-30 02:40:16

3

對於將Microsoft Access數據庫轉換爲使用SQL Server作爲後端數據存儲,同時保留Microsoft Access應用程序的用戶界面的特定任務,Access本身會提供一個「升遷嚮導」(工具|數據庫實用程序|升遷嚮導)。

此嚮導將引導您完成連接到SQL Server實例,創建SQL Server數據庫以及最大程度地將您的表和視圖(在Access中稱爲查詢)移動到新數據庫的過程。

這個過程可能會相對輕鬆或困難,這取決於許多因素,包括您在Access數據庫中驗證數據的程度,您是否在查詢中使用了VBA函數,我使用了Access唯一的查詢結構。

+0

這是不行的,如果去SqlServer 2008,順便說一句,那麼SSMT是你唯一的選擇。可能是因爲使用64位Vista,我必須這樣做,但是我相信它適用於所有MS Sql Server 2008. – 2009-09-30 02:06:34

+0

SSMA工具比升遷嚮導更好。 – 2009-09-30 02:26:48

+0

與SQL Server版本相比,Access版本並不及時,所以Access中的內置升遷嚮導幾乎總是一個後面的版本。 – 2009-09-30 02:33:42

0

升遷或不升遷 - 這是個問題......(或對我們來說)

樣大不了的加緊SQLSERVER ....我們種的去迴避它一個來自AccessTables.com的廣域網複製服務,並且在Access中保持着......至少暫時......升遷只是一個問題......處理Web前端或終端服務也是其中的一部分...

相關問題