Access轉Sql Server問題 實例闡明。本站提示廣大學習愛好者:(Access轉Sql Server問題 實例闡明)文章只能為提供參考,不一定能成為您想要的結果。以下是Access轉Sql Server問題 實例闡明正文
明天幫同窗改一個老的零碎作為畢業設計,這零碎技術相對落後asp+access。為了應付教師的驗收,然後這同窗編程又不是很好,而其到了最後時辰才想到開端做畢設,於是找到了我。
我看了他不知從哪裡搞來的代碼,跑了下,還行能跑,過兩天就要驗收順序了,把asp改成 asp.net是沒時間了,於是我提議改下數據庫算了,於是決議把access轉成sql server。看似一個公司的產品,轉起來問題到一大堆。現總結如下,
先說怎樣轉移數據,翻開sqlserver的企業管理器,樹立張表,然後右擊那張表,點導入數據,然後選中數據源(我這裡就是access的mdb文件),一路next,根本沒什麼問題,數據就這樣導好了,但問題沒那麼復雜,sql server和access的機制有很大的不同
1,由於SQL2000外面沒有自動編號,所以你的以自動編號設置的字段都會變成非空的字段,這就必需手工修正這些字段,並把他的標示選擇是,種子為1,增量為1,
2,另外,ACCESS2000轉換成SQL2000後,原來屬性為是/否的字段將被轉換成非空的bit,這時分你必需修正成自己想要的屬性了;
3,另外,大家要留意對時間函數的掌握.ACCESS與SQL是有很多不同的.
ACCESS轉MS 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數據庫處置中,卻不能用。