開發者常常以Access作為原型或者用Access來開發不是很關鍵的應用程序。但是,隨著公司業務的增長,要解決的問題會變得越來越復雜,Access環境可能無法滿足需要。目前,Access 2002的.mdb和.adp文件都將一個數據庫的長度限制在2 GB以內。這意味著幾乎每個Access和SQL Server開發者最終都要將一個Access數據庫升遷成一個SQL Server數據庫。
由於升遷已成為極為常見的一個任務,所以Access配套提供了一個“升遷向導”。它雖然能完成這個工作,但操作過程並不簡單。SQL Server與Access的幾處不兼容的地方是該向導無法處理的。你或許不知道,SQL Server的“數據轉換服務”(Data Transformation Services,DTS)也能升遷一個Access數據庫。下面讓我們比較這兩個向導,並體驗如何使用DTS來升遷一個實際Access數據庫。這樣一來,你在遇到一個升遷任務時,就能選擇最有效的方式。
比較Access升遷向導和DTS
Access升遷向導(AUW)在Access內部工作,能將數據拷貝到SQL Server表。相反,DTS將來自一個Access數據庫的數據拷貝到SQL Server表中。注意,你可將數據從一個文本文件或者一個OLE DB數據源(其中自然包括Access數據庫)導入SQL Server。導入文件的同時,還能對數據進行轉換。
DTS的功能非常齊全,有的開發者認為它比AUW強得多,理由是:
可在導入數據時更改列(字段)屬性。
在導入期間創建查詢,限制實際導入的數據。
但AUW也有DTS不具備的一個優點,那就是它能將一個Access前端鏈接到SQL Server數據。DTS則不然,它只能導入數據,你不能將導入的數據鏈接到一個現有的前端。
使用DTS導入/導出向導
可采取幾種方式來執行DTS:
在Windows【開始】菜單中,選擇【Microsoft SQL Server】,再選擇【導入和導出數據】。
運行企業管理器,連接到想導入數據的一個特定的服務器和數據庫,然後從【工具】菜單中選擇【數據轉換服務】|【導入數據】。在一個現有的數據庫中導入數據時,可使用這個選項。
在企業管理器中,連接到要導入數據的服務器,再右擊【數據轉換服務】節點。選擇【所有任務】|【導入數據】。向導最開始會顯示一個提示性屏幕。請單擊【下一步】開始操作。
指定數據源
升遷Access的第一步是指定數據源以及包含了待導入數據的實際文件。在本例中,請選擇Microsoft Access作為數據源,再找到Northwind.mdb數據庫(Access配套提供的示范數據庫)。它通常在以下文件夾中:
LocalDrive:\Program Files\Microsoft Office\Office10\Samples
注意,你可對任意Access數據庫進行升遷。升遷不會對實際的.mdb文件及其數據產生任何影響。
如圖A所示,本例不要求你輸入密碼和用戶名。但是,在操作一個安全數據庫時,則可能必須管理管理員用戶名和密碼。換言之,在操作這種數據庫之前,你必須獲得管理權限。請單擊【下一步】繼續。
圖A
指定數據源和文件。如果操作的是安全數據庫,還需要輸入管理員用戶名和密碼
相反,如果使用的是AUW,它首先會要求你選擇新建一個SQL Server數據庫,或者選擇將SQL Server數據鏈接到一個Access前端。如前所述,DTS沒有提供鏈接選項。