1、開啟“控制台”下“管理工具”中的“資料庫源”。
2、按“添加”添加一個新的資料來源,在選擇欄裡選“Driver do microsoft Access (*.mdb)”,完成後將出現一個框,在“資料庫源”裡面輸入你想寫的名稱,我取名叫“ABC”,說明不需要填,接著,按下面的選擇,尋找你的資料庫地址和選中(注意,請先備份自己的Access資料庫),然後確定。資料來源在這裡建好了,剩下轉換了。
3、開啟SQL2000企業管理器,進入資料庫,建立一個空的資料庫“ABC”。
4、選擇建立立的資料庫,按滑鼠右鍵,選擇“所有任務”下“匯入資料”,按“下一步”繼續。
5、在資料庫源下拉但中選擇“Driver do microsoft
Access(*.mdb)”,在“使用者/系統DSN”中,選種你剛才添加的“ABC”,按“下一步”。
6、“目的”不需要修改,選擇伺服器(一般下為自己的本機local,也可以選擇伺服器位址或者區域網路地址,確定你的許可權是否可以操作,),使用WINDOWS身分識別驗證指用自己的系統管理員身份操作,使用SQL身份操作驗證可以用於網站的操作,推薦用後者。
7、選上使用SQL身份操作驗證後,填寫你的使用者名稱和密碼,我自己選擇的是系統預設號碼sa,****,資料庫選擇剛建立的ABC,按下一步。
8、這一步的兩個單項選擇,從資料來源複製表和視圖與用一條查詢指令指定要傳輸的資料,選擇前者,按下一步繼續。
9、這裡將出現你自己Access資料庫的表,按全選後,下一步。
10、DTS匯入/匯出嚮導,看立即運行被選中按下一步。
11、按完成繼續。
12、這個步驟你將看到你的資料被匯入SQL 2000裡面,當出現已經成功把XXX個表匯入到資料庫的字樣,而且所有的表前面都有綠色的勾,就表示成功匯入所有資料,如果中途出現問題或者表前面有紅色的*的話,說明該表沒有成功匯入,這時就要回去查看自己的操作是否正確了。
注意一下幾點:
一.資料修改
1、由於SQL2000裡面沒有自動編號,所以你的以自動編號設定的欄位都會變成非空的欄位,這就必須手工修改這些欄位,並把他的標示選擇是,種子為1,增量為1。
2、另外,Access 2000轉換成SQL 2000後,原來屬性為是/否的欄位將被轉換成非空的bit,這時候你必須修改成自己想要的屬性了。
3、另外,大家要注意對時間函數的把握Access與SQL是有很多不同的。
二.資料庫轉換的經驗
1.Access的資料庫中的自動編號類型在轉化時,SQL Server並沒有將它設為自動編號型,我們需在SQL建立語句中加上identity,表示自動編號!
2.轉化時,跟日期有關的欄位,SQL Server預設為smalldatetime型,我們最好將它變為datetime型,因為datetime型的範圍比smalldatetime型大。我遇見這種情況,用smalldatetime型時,轉化失敗,而用datetime型時,轉化成功。
3.對此兩種資料庫進行操作的sql語句不全相同,例如:在對Access資料庫進行刪除紀錄時用:
delete * from user where id=10,
而對SQL Server資料庫進行刪除是用:delete user where id=10。
4.日期函數不相同,在對Access資料庫處理中,可用date()、time()等函數,但對SQL Server資料庫處理中,只能用datediff,dateadd等函數,而不能用date()、time()等函數。
5.在對ACCESS資料庫處理中,sql語句中直接可以用一些VB的函數,像cstr()函數,而對SQL Server資料庫處理中,卻不能用。
本文出自 51CTO.COM技術部落格