共計 1778 個字符,預計需要花費 5 分鐘才能閱讀完成。
自動寫代碼機器人,免費開通
本篇內容介紹了“Access 轉 SqlServer 需要注意什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓丸趣 TV 小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
1、自動增加字段需要重寫。在 access 中經常使用的自動編號字段,導入到 mssql 后,他并不是自增型的 int,需要手工設置,把導入后的自動編號字段的標識的“否”改為“是”,“種子”和“遞增量”都為“1”,才能成為自動編號。
2、所有的默認值都丟失了。主要是數字類型和日期類型
3、所有 now(),time(),date() 要改成 getdate()
4、所有 datediff(d , time1, time2) 要改成 datediff(day, time1, time2)
5、所有 datediff(ww , time1, time2) 要改成 datediff(week, time1, time2)
6、所有 datediff(d , time1, time2) 要改成 datediff(day, time1, time2)
7、在 mssql server 中,有許多保留字,在 access 中是沒有的,當你把數據導入到 mssql 的時候,問題就出來了。mssql 在導入的時候,會自動給這些字段(包括數據庫中的表名)加上“[字段名]”,因此,你必須修改你的腳本,把相應的字段名字(或者表名字)加上中括號,或改變字段名字為不是 mssql 的保留字
8、在用 access 關于時間的使用,大家喜歡使用“select * from aaaa while time= now()”這樣的 sql 語句,然而,在 mssql 中沒有“now()”這個函數,而是使用“getdate()”,所以,所有的 sql 語句中的“now()”必須換成“getdate()”。
9、日期函數不相同,在對 ACCESS 數據庫處理中,可用 date()、time() 等函數,但對
SQL SERVER 數據庫處理中,只能用 datediff,dateadd 等函數,而不能用 date()、time() 等函數。
10、轉化時,跟日期有關的字段,SQL SERVER 默認為 smalldatetime 型,我們最好將它變為 datetime 型,因為 datetime 型的范圍比 smalldatetime 型大。有時用 smalldatetime 型時,轉化失敗,而用 datetime 型時,轉化成功
11、isnull(rowname) 要改成 rowname = null
12、CursorType 要改成 1, 也就是打開數據庫時要給出第一個數字參數為 1,否則記錄可能顯示不完整
13、備注類型要通過 cast(column as varchar) 來使用
14、true/false 類型不能使用,要變為 1 /0
15、對此兩種數據庫進行操作的 sql 語句不全相同,例如:在對 ACCESS 數據庫進行刪除紀錄時用:delete * from user where id=10 , 而對 SQL SERVER 數據庫進行刪除是用:delete user where id=10 .
16、在對 ACCESS 數據庫處理中,sql 語句中直接可以用一些 VB 的函數,像 cstr() 函數,而對 SQL SERVER 數據庫處理中,卻不能用
17、在 access 的 sql 語句中的時間使用變量查詢的時候,大家一般使用 select * from aaaa while time=# 變量名 #,在 mssql 中是不行的,他的語法是“select * from aaaa while time= 變量名”。(意思是讓你把日期時間變量當成字符串來使用)
18、原來 ASP 里的“Delete * FROM ……”要改為“Delete FROM ……”
19、有可能 rs.update 失敗,修改成 update 表名 set 字段 =‘值 這樣通過
20、access 里面除法可以使用 \ 或者 /,MSSQL 里面只能使用 /
21、在 SqlServer 中建立主鍵
22、如果還有問題用:rs.open sql,conn,3,2 試試
“Access 轉 SqlServer 需要注意什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注丸趣 TV 網站,丸趣 TV 小編將為大家輸出更多高質量的實用文章!
向 AI 問一下細節