轉(zhuǎn)換步驟
1、打開“控制面板”下“管理工具”中的“數(shù)據(jù)庫源”。
2、按“添加”添加一個新的數(shù)據(jù)源,在選擇欄里選“Driver do microsoft Access (*.mdb)”,完成后將出現(xiàn)一個框,在“數(shù)據(jù)庫源”里面輸入你想寫的名稱,我取名叫“ABC”,說明不需要填,接著,按下面的選擇,尋找你的數(shù)據(jù)庫地址和選中(注意,請先備份自己的Access數(shù)據(jù)庫),然后確定。數(shù)據(jù)源在這里建好了,剩下轉(zhuǎn)換了。
3、打開SQL2000企業(yè)管理器,進(jìn)入數(shù)據(jù)庫,新建一個空的數(shù)據(jù)庫“ABC”。
4、選擇新建立的數(shù)據(jù)庫,按鼠標(biāo)右鍵,選擇“所有任務(wù)”下“導(dǎo)入數(shù)據(jù)”,按“下一步”繼續(xù)。
5、在數(shù)據(jù)庫源下拉但中選擇“Driver do microsoft Access(*.mdb)”,在“用戶/系統(tǒng)DSN”中,選種你剛才添加的“ABC”,按“下一步”。
6、“目的”不需要修改,選擇服務(wù)器(一般下為自己的本機(jī)local,也可以選擇服務(wù)器地址或者局域網(wǎng)地址,確定你的權(quán)限是否可以操作,),使用WINDOWS身份驗證指用自己的系統(tǒng)管理員身份操作,使用SQL身份操作驗證可以用于網(wǎng)站的操作,推薦用后者。
7、選上使用SQL身份操作驗證后,填寫你的用戶名和密碼,我自己選擇的是系統(tǒng)默認(rèn)號碼sa,****,數(shù)據(jù)庫選擇剛新建的ABC,按下一步。
8、這一步的兩個單項選擇,從數(shù)據(jù)源復(fù)制表和視圖與用一條查詢指令指定要傳輸?shù)臄?shù)據(jù),選擇前者,按下一步繼續(xù)。
9、這里將出現(xiàn)你自己Access數(shù)據(jù)庫的表,按全選后,下一步。
10、DTS導(dǎo)入/導(dǎo)出向?qū)В戳⒓催\(yùn)行被選中按下一步。
11、按完成繼續(xù)。
12、這個步驟你將看到你的數(shù)據(jù)被導(dǎo)入SQL 2000里面,當(dāng)出現(xiàn)已經(jīng)成功把XXX個表導(dǎo)入到數(shù)據(jù)庫的字樣,而且所有的表前面都有綠色的勾,就表示成功導(dǎo)入所有數(shù)據(jù),如果中途出現(xiàn)問題或者表前面有紅色的*的話,說明該表沒有成功導(dǎo)入,這時就要回去查看自己的操作是否正確了。
注意事項:
一.數(shù)據(jù)修改:
1、由于SQL2000里面沒有自動編號,所以你的以自動編號設(shè)置的字段都會變成非空的字段,這就必須手工修改這些字段,并把他的標(biāo)示選擇是,種子為1,增量為1。
2、另外,Access 2000轉(zhuǎn)換成SQL 2000后,原來屬性為是/否的字段將被轉(zhuǎn)換成非空的bit,這時候你必須修改成自己想要的屬性了。
3、另外,大家要注意對時間函數(shù)的把握Access與SQL是有很多不同的。
二.數(shù)據(jù)庫轉(zhuǎn)換的經(jīng)驗:
1.Access的數(shù)據(jù)庫中的自動編號類型在轉(zhuǎn)化時,SQL Server并沒有將它設(shè)為自動編號型,我們需在SQL創(chuàng)建語句中加上identity,表示自動編號.
2.轉(zhuǎn)化時,跟日期有關(guān)的字段,SQL Server默認(rèn)為smalldatetime型,我們最好將它變?yōu)閐atetime型,因為datetime型的范圍比smalldatetime型大。我遇見這種情況,用smalldatetime型時,轉(zhuǎn)化失敗,而用datetime型時,轉(zhuǎn)化成功。
3.對此兩種數(shù)據(jù)庫進(jìn)行操作的SQL語句不全相同,例如:在對Access數(shù)據(jù)庫進(jìn)行刪除紀(jì)錄時用:
|
而對SQL Server數(shù)據(jù)庫進(jìn)行刪除是用:delete user where id=10。
4.日期函數(shù)不相同,在對Access數(shù)據(jù)庫處理中,可用date()、time()等函數(shù),但對SQL Server數(shù)據(jù)庫處理中,只能用datediff,dateadd等函數(shù),而不能用date()、time()等函數(shù)。
5.在對Access數(shù)據(jù)庫處理中,SQL語句中直接可以用一些VB的函數(shù),像cstr()函數(shù),而對SQL Server數(shù)據(jù)庫處理中,卻不能用。