程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> Access轉SqlServer的注意事項

Access轉SqlServer的注意事項

編輯:關於SqlServer

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 字段=‘值’ 這樣通過(遇到的情況,提示為:
Microsoft OLE DB Provider for SQL Server 錯誤 '80040e38'

樂觀並發檢查失敗。已在此游標之外修改了該行。

/Admin_ClassOrder.ASP,行 164 )


20、Access裡面除法可以使用"\"或者"/",MSSQL裡面只能使用"/"

21、請在SqlServer中建立主鍵
(錯誤可能是:
ADODB.Recordset 錯誤 '800a0cb3'

當前 Recordset 不支持更新。這可能是提供者限制的,也可能是選定的鎖定類型限制的。

/admin/ema.ASP,行97 )

22、如果還有問題用:rs.open sql,conn,3,2試試 



  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved