Access轉(zhuǎn)Sql Server問題 實例說明
更新時間:2009年06月14日 18:26:08 作者:
對于網(wǎng)上的一些access轉(zhuǎn)sqlserver的解決方法,比較多,其實只要多注意,多實踐,發(fā)現(xiàn)問題,解決問題。
今天幫同學改一個老的系統(tǒng)作為畢業(yè)設(shè)計,這系統(tǒng)技術(shù)絕對落后asp+access。為了應(yīng)付老師的驗收,然后這同學編程又不是很好,而其到了最后時刻才想到開始做畢設(shè),于是找到了我。
我看了他不知從哪里搞來的代碼,跑了下,還行能跑,過兩天就要驗收程序了,把asp改成 asp.net是沒時間了,于是我提議改下數(shù)據(jù)庫算了,于是決定把access轉(zhuǎn)成sql server??此埔粋€公司的產(chǎn)品,轉(zhuǎn)起來問題到一大堆?,F(xiàn)總結(jié)如下,
先說怎么轉(zhuǎn)移數(shù)據(jù),打開sqlserver的企業(yè)管理器,建立張表,然后右擊那張表,點導(dǎo)入數(shù)據(jù),然后選中數(shù)據(jù)源(我這里就是access的mdb文件),一路next,基本沒什么問題,數(shù)據(jù)就這樣導(dǎo)好了,但問題沒那么簡單,sql server和access的機制有很大的不同
1,由于SQL2000里面沒有自動編號,所以你的以自動編號設(shè)置的字段都會變成非空的字段,這就必須手工修改這些字段,并把他的標示選擇是,種子為1,增量為1,
2,另外,ACCESS2000轉(zhuǎn)換成SQL2000后,原來屬性為是/否的字段將被轉(zhuǎn)換成非空的bit,這時候你必須修改成自己想要的屬性了;
3,另外,大家要注意對時間函數(shù)的把握.ACCESS與SQL是有很多不同的.
ACCESS轉(zhuǎn)MS SQL數(shù)據(jù)庫的幾點經(jīng)驗
1.ACCESS的數(shù)據(jù)庫中的自動編號類型在轉(zhuǎn)化時,sql server并沒有將它設(shè)為自動編號型,我們需在SQL創(chuàng)建語句中加上identity,表示自動編號!
2.轉(zhuǎn)化時,跟日期有關(guān)的字段,SQL SERVER默認為smalldatetime型,我們最好將它變?yōu)閐atetime型,因為datetime型的范圍比smalldatetime型大。我遇見這種情況,用smalldatetime型時,轉(zhuǎn)化失敗,而用datetime型時,轉(zhuǎn)化成功。
3.對此兩種數(shù)據(jù)庫進行操作的sql語句不全相同,例如:在對ACCESS數(shù)據(jù)庫進行刪除紀錄時用:delete * from user where id=10,而對SQL SERVER數(shù)據(jù)庫進行刪除是用: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ù)庫處理中,卻不能用。
我看了他不知從哪里搞來的代碼,跑了下,還行能跑,過兩天就要驗收程序了,把asp改成 asp.net是沒時間了,于是我提議改下數(shù)據(jù)庫算了,于是決定把access轉(zhuǎn)成sql server??此埔粋€公司的產(chǎn)品,轉(zhuǎn)起來問題到一大堆?,F(xiàn)總結(jié)如下,
先說怎么轉(zhuǎn)移數(shù)據(jù),打開sqlserver的企業(yè)管理器,建立張表,然后右擊那張表,點導(dǎo)入數(shù)據(jù),然后選中數(shù)據(jù)源(我這里就是access的mdb文件),一路next,基本沒什么問題,數(shù)據(jù)就這樣導(dǎo)好了,但問題沒那么簡單,sql server和access的機制有很大的不同
1,由于SQL2000里面沒有自動編號,所以你的以自動編號設(shè)置的字段都會變成非空的字段,這就必須手工修改這些字段,并把他的標示選擇是,種子為1,增量為1,
2,另外,ACCESS2000轉(zhuǎn)換成SQL2000后,原來屬性為是/否的字段將被轉(zhuǎn)換成非空的bit,這時候你必須修改成自己想要的屬性了;
3,另外,大家要注意對時間函數(shù)的把握.ACCESS與SQL是有很多不同的.
ACCESS轉(zhuǎn)MS SQL數(shù)據(jù)庫的幾點經(jīng)驗
1.ACCESS的數(shù)據(jù)庫中的自動編號類型在轉(zhuǎn)化時,sql server并沒有將它設(shè)為自動編號型,我們需在SQL創(chuàng)建語句中加上identity,表示自動編號!
2.轉(zhuǎn)化時,跟日期有關(guān)的字段,SQL SERVER默認為smalldatetime型,我們最好將它變?yōu)閐atetime型,因為datetime型的范圍比smalldatetime型大。我遇見這種情況,用smalldatetime型時,轉(zhuǎn)化失敗,而用datetime型時,轉(zhuǎn)化成功。
3.對此兩種數(shù)據(jù)庫進行操作的sql語句不全相同,例如:在對ACCESS數(shù)據(jù)庫進行刪除紀錄時用:delete * from user where id=10,而對SQL SERVER數(shù)據(jù)庫進行刪除是用: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ù)庫處理中,卻不能用。
您可能感興趣的文章:
- SQL Server中的數(shù)據(jù)復(fù)制到的Access中的函數(shù)
- Sql Server、Access數(shù)據(jù)排名的實現(xiàn)方法(例如:成績排名)
- SQLServer與Access常用SQL函數(shù)區(qū)別
- SQL 隨機查詢 包括(sqlserver,mysql,access等)
- 在ACCESS和SQL Server下Like 日期類型查詢區(qū)別
- Access和SQL Server里面的SQL語句的不同之處
- asp.net下Oracle,SQL Server,Access萬能數(shù)據(jù)庫通用類
- SQL SERVER 與ACCESS、EXCEL的數(shù)據(jù)轉(zhuǎn)換方法分享
- 將Access數(shù)據(jù)庫中數(shù)據(jù)導(dǎo)入到SQL Server中的詳細方法實例
- 八步解決ACCESS自動編號問題(將SQL SERVER 2000數(shù)據(jù)庫,轉(zhuǎn)換為ACCESS數(shù)據(jù)庫)
- 將ACCESS數(shù)據(jù)庫遷移到SQLSERVER數(shù)據(jù)庫兩種方法(圖文詳解)
- sqlserver,sqlite,access數(shù)據(jù)庫鏈接字符串整理
- 自己動手把ACCESS轉(zhuǎn)換到SQLSERVER的方法
- Access 導(dǎo)入到SQL Server 2005的方法小結(jié)
- JavaScript使用ActiveXObject訪問Access和SQL Server數(shù)據(jù)庫
- SQL Server數(shù)據(jù)復(fù)制到的Access兩步走
相關(guān)文章
Access中批量替換數(shù)據(jù)庫內(nèi)容的兩種方法
其實在Access數(shù)據(jù)庫中可以利用SQL語句來批量替換內(nèi)容,只需一句話就能解決問題,下面通過兩種方法來解決此問題。2010-06-06中文Access2000速成教程--1.2 使用“數(shù)據(jù)庫向?qū)А眲?chuàng)建表
中文Access2000速成教程--1.2 使用“數(shù)據(jù)庫向?qū)А眲?chuàng)建表...2006-11-11union這個連接是有什么用的和INNER JOIN有什么區(qū)別
union這個連接是有什么用的和INNER JOIN有什么區(qū)別...2006-07-07建立自由的會計日期的報表--1.2.創(chuàng)建讓用戶選擇日期窗體
建立自由的會計日期的報表--1.2.創(chuàng)建讓用戶選擇日期窗體...2006-11-11八步解決ACCESS自動編號問題(將SQL SERVER 2000數(shù)據(jù)庫,轉(zhuǎn)換為ACCESS數(shù)據(jù)庫)
這篇文章主要介紹了將SQL SERVER 2000數(shù)據(jù)庫轉(zhuǎn)換為ACCESS數(shù)據(jù)庫時的ACCESS自動編號問題,需要的朋友可以參考下2013-08-08Access使用查詢--1.2.用選擇查詢進行分組數(shù)據(jù)的計算
Access使用查詢--1.2.用選擇查詢進行分組數(shù)據(jù)的計算...2006-11-11