2011-08-16 54 views
0

我們計劃開發一個帶有MS Access的桌面應用程序作爲數據庫。但是我們有一些疑問? 1.當我們在客戶端機器上開發後安裝此應用程序時,是否需要MS Acess? 2.如果是,他們是否需要從微軟購買MS Access的許可證或免費? 3.如果系統上安裝了MS Access軟件,我們如何進行檢查?如果不是我們如何安裝MS Access以及我們的應用程序?作爲數據庫的MS Access

+0

簽出[良好的免費替代MS Access](http://stackoverflow.com/questions/29044/good-free-alternative-to-ms-access/29057#29057 ) –

+1

@Vinay:在下面的一條評論中,您聲明您的數據存儲需求是「巨大的」。請記住,Access .mdb/.accdb文件具有2GB的硬限制。至於將圖像存儲在數據存儲中,這幾乎肯定是一個壞主意,但它確實是一個單獨的問題。 – mwolfe02

+1

您是否將MS Access用作前端(即,使用它創建表單和報告)還是僅僅作爲後端數據存儲? – mwolfe02

回答

-1

這取決於你的軟件是如何工作的。你有一個調用Access DB的程序,還是你的程序使用訪問表單來實現?

如果你只是使用Access作爲DB

  1. 沒有,你只需要JET運行
  2. 你可以找到在微軟網站上的JET運行
  3. 這取決於你是什麼樣的安裝程序包使用。如果您使用典型的.NET Installer,則可以將MDAC MSI作爲依賴包含在內。

如果您的數據庫使用Access,程序

  1. 是的,他們需要購買它。就像你需要購買它來開發你的數據庫一樣。不,它不是免費的
  2. 如果訪問不在他們的計算機上,他們將需要購買它,然後插入CD並完成安裝。
+0

嗨哈茲,但我的數據存儲需求是相當大的,與巨大的圖像和大量的數據..會SQLite足夠好嗎? – VMN

+1

我沒有建議SQLLite,我建議讓JET安裝程序(如果您只是使用Access作爲數據庫)免費,或者讓您的客戶購買Access,如果您的程序也是以訪問方式編寫的。 SQLLite只會替換數據庫引擎,如果這是Access中的唯一位,則不需要執行此操作。如果您的整個應用程序都在Access中,那麼SQLLite不會爲您重新編寫代碼。 –

+0

沒有「Jet運行時」這樣的事情。 Jet 4安裝在從Windows 2000開始的每個Windows副本上,因此如果您使用Jet 4作爲數據存儲,則無需安裝Jet 4。如果您想使用ACCDB格式,則需要安裝可從Microsoft下載的ACE。 –

2

在您對Haz和duffymo的評論中,您表示您的意圖是將「巨大尺寸的圖片」存儲在數據庫中。這不是MS Access的最佳做法。由於存儲圖像的方式,數據庫文件大小將增加超過圖像文件的大小。從Access 2007開始,有一種改進的存儲方法可以減少這種膨脹,但這仍然是一個問題。此外,這可能會造成破壞,因爲Access數據庫文件的絕對硬連接文件大小限制爲2 GB ......您的數據庫可能無法容納足夠大的圖像以滿足您的需求。

我不清楚你需要安裝Access本身的問題。最近(從Win 2000以後)的32位Windows版本中,使用Access數據庫文件所需的組件包含在操作系統中。如果您使用的是64位Windows,則可能需要獲取2007 Office System Driver: Data Connectivity Components

只有在您的應用程序使用Access進行數據存儲時,才需要安裝Access。一個使用Access作爲前端客戶端(使用Access表單,報表等)的應用程序需要安裝某種形式的Access,但它不一定是全面的版本。你可以將應用程序設計爲Access運行時版本,因爲它是免費的起動與Access 2007:

  1. Access 2007 Download: Access Runtime
  2. Microsoft Access 2010 Runtime

不過,如果你正在使用其他的東西(如點.Net)爲您的應用程序前端,您將不需要任何形式的Access安裝。

0

永遠不要在訪問數據庫中存儲大型圖像。一個大數據庫是一個緩慢的數據庫。使用vba檢查和創建文件路徑並將圖像存儲在數據庫之外。打我的代碼做到這一點