Access轉(zhuǎn)SqlServer的注意事項(xiàng)
更新時間:2007年02月09日 00:00:00 作者:
Access轉(zhuǎn)SqlServer的注意事項(xiàng),需要的朋友可以參考下。
1、自動增加字段需要重寫。在access中經(jīng)常使用的自動編號字段,導(dǎo)入到mssql后,他并不是自增型的int,需要手工設(shè)置,把導(dǎo)入后的自動編號字段的標(biāo)識的“否”改為“是”,“種子”和“遞增量”都為“1”,才能成為自動編號。
2、所有的默認(rèn)值都丟失了。主要是數(shù)字類型和日期類型
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中是沒有的,當(dāng)你把數(shù)據(jù)導(dǎo)入到mssql的時候,問題就出來了。mssql在導(dǎo)入的時候,會自動給這些字段(包括數(shù)據(jù)庫中的表名)加上“[字段名]”,因此,你必須修改你的腳本,把相應(yīng)的字段名字(或者表名字)加上中括號,或改變字段名字為不是mssql的保留字
8、在用access關(guān)于時間的使用,大家喜歡使用“select * from aaaa while time="&now()”這樣的sql語句,然而,在mssql中沒有“now()”這個函數(shù),而是使用“getdate()”,所以,所有的sql語句中的“now()”必須換成“getdate()”。
9、日期函數(shù)不相同,在對ACCESS數(shù)據(jù)庫處理中,可用date()、time()等函數(shù),但對
SQL SERVER數(shù)據(jù)庫處理中,只能用datediff,dateadd等函數(shù),而不能用date()、time()等函數(shù)。
10、轉(zhuǎn)化時,跟日期有關(guān)的字段,SQL SERVER默認(rèn)為smalldatetime型,我們最好將它變?yōu)閐atetime型,因?yàn)閐atetime型的范圍比smalldatetime型大。有時用smalldatetime型時,轉(zhuǎn)化失敗,而用datetime型時,轉(zhuǎn)化成功
11、isnull(rowname)要改成rowname = null
12、CursorType要改成1,也就是打開數(shù)據(jù)庫時要給出第一個數(shù)字參數(shù)為1,否則記錄可能顯示不完整
13、備注類型要通過cast(column as varchar)來使用
14、true/false類型不能使用,要變?yōu)?/0
15、對此兩種數(shù)據(jù)庫進(jìn)行操作的sql語句不全相同,例如:在對ACCESS數(shù)據(jù)庫進(jìn)行刪除紀(jì)錄時用:"delete * from user where id=10",而對SQL SERVER數(shù)據(jù)庫進(jìn)行刪除是用:"delete user where id=10".
16、在對ACCESS數(shù)據(jù)庫處理中,sql語句中直接可以用一些VB的函數(shù),像cstr()函數(shù),而對SQL SERVER數(shù)據(jù)庫處理中,卻不能用
17、在access的sql語句中的時間使用變量查詢的時候,大家一般使用"select * from aaaa while time=#"&變量名&"#",在mssql中是不行的,他的語法是“select * from aaaa while time='"&變量名&"'"”。(意思是讓你把日期時間變量當(dāng)成字符串來使用)
18、原來ASP里的“Delete * FROM ……”要改為“Delete FROM ……”
19、有可能rs.update失敗,修改成update 表名 set 字段=‘值' 這樣通過
20、access里面除法可以使用"\"或者"/",MSSQL里面只能使用"/"
21、在SqlServer中建立主鍵
22、如果還有問題用:rs.open sql,conn,3,2試試
2、所有的默認(rèn)值都丟失了。主要是數(shù)字類型和日期類型
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中是沒有的,當(dāng)你把數(shù)據(jù)導(dǎo)入到mssql的時候,問題就出來了。mssql在導(dǎo)入的時候,會自動給這些字段(包括數(shù)據(jù)庫中的表名)加上“[字段名]”,因此,你必須修改你的腳本,把相應(yīng)的字段名字(或者表名字)加上中括號,或改變字段名字為不是mssql的保留字
8、在用access關(guān)于時間的使用,大家喜歡使用“select * from aaaa while time="&now()”這樣的sql語句,然而,在mssql中沒有“now()”這個函數(shù),而是使用“getdate()”,所以,所有的sql語句中的“now()”必須換成“getdate()”。
9、日期函數(shù)不相同,在對ACCESS數(shù)據(jù)庫處理中,可用date()、time()等函數(shù),但對
SQL SERVER數(shù)據(jù)庫處理中,只能用datediff,dateadd等函數(shù),而不能用date()、time()等函數(shù)。
10、轉(zhuǎn)化時,跟日期有關(guān)的字段,SQL SERVER默認(rèn)為smalldatetime型,我們最好將它變?yōu)閐atetime型,因?yàn)閐atetime型的范圍比smalldatetime型大。有時用smalldatetime型時,轉(zhuǎn)化失敗,而用datetime型時,轉(zhuǎn)化成功
11、isnull(rowname)要改成rowname = null
12、CursorType要改成1,也就是打開數(shù)據(jù)庫時要給出第一個數(shù)字參數(shù)為1,否則記錄可能顯示不完整
13、備注類型要通過cast(column as varchar)來使用
14、true/false類型不能使用,要變?yōu)?/0
15、對此兩種數(shù)據(jù)庫進(jìn)行操作的sql語句不全相同,例如:在對ACCESS數(shù)據(jù)庫進(jìn)行刪除紀(jì)錄時用:"delete * from user where id=10",而對SQL SERVER數(shù)據(jù)庫進(jìn)行刪除是用:"delete user where id=10".
16、在對ACCESS數(shù)據(jù)庫處理中,sql語句中直接可以用一些VB的函數(shù),像cstr()函數(shù),而對SQL SERVER數(shù)據(jù)庫處理中,卻不能用
17、在access的sql語句中的時間使用變量查詢的時候,大家一般使用"select * from aaaa while time=#"&變量名&"#",在mssql中是不行的,他的語法是“select * from aaaa while time='"&變量名&"'"”。(意思是讓你把日期時間變量當(dāng)成字符串來使用)
18、原來ASP里的“Delete * FROM ……”要改為“Delete FROM ……”
19、有可能rs.update失敗,修改成update 表名 set 字段=‘值' 這樣通過
20、access里面除法可以使用"\"或者"/",MSSQL里面只能使用"/"
21、在SqlServer中建立主鍵
22、如果還有問題用:rs.open sql,conn,3,2試試
您可能感興趣的文章:
- 隨機(jī)提取Access/SqlServer數(shù)據(jù)庫中的10條記錄的SQL語句
- 如何在 Access 2003 和 Access 2002 中創(chuàng)建 DSN 的連接到 SQLServer 對鏈接表
- ACCESS轉(zhuǎn)SQLSERVER數(shù)據(jù)庫的注意事項(xiàng)
- asp.net 數(shù)據(jù)庫備份還原(sqlserver+access)
- SQL 隨機(jī)查詢 包括(sqlserver,mysql,access等)
- Excel導(dǎo)入Sqlserver數(shù)據(jù)庫腳本
- ASP將Excel數(shù)據(jù)導(dǎo)入到SQLServer的實(shí)現(xiàn)代碼
- ADO.NET 連接數(shù)據(jù)庫字符串小結(jié)(Oracle、SqlServer、Access、ODBC)
- 解析SQLServer獲取Excel中所有Sheet的方法
- 將ACCESS數(shù)據(jù)庫遷移到SQLSERVER數(shù)據(jù)庫兩種方法(圖文詳解)
- 將excel高效導(dǎo)入sqlserver的可行方法
- SQL SERVER 2008 64位系統(tǒng)無法導(dǎo)入ACCESS/EXCEL怎么辦
相關(guān)文章
SQL注入滲透測試以及護(hù)網(wǎng)面試題和解答總結(jié)
現(xiàn)在SQL注入仍然是最流行的攻擊方法之一,開發(fā)人員為此頭疼,下面這篇文章主要給大家介紹了關(guān)于SQL注入滲透測試以及護(hù)網(wǎng)面試題和解答的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-01-01淺談關(guān)系型數(shù)據(jù)庫中的約束及應(yīng)用場景
這篇文章主要介紹了淺談關(guān)系型數(shù)據(jù)庫中的約束及應(yīng)用場景,關(guān)系型數(shù)據(jù)庫是一種廣泛應(yīng)用的數(shù)據(jù)庫類型,它的核心是基于關(guān)系模型的結(jié)構(gòu)化數(shù)據(jù)存儲和管理,在關(guān)系型數(shù)據(jù)庫中,約束是一種重要的概念,它可以幫助我們保證數(shù)據(jù)的完整性和一致性,需要的朋友可以參考下2023-07-07大數(shù)據(jù)之Spark基礎(chǔ)環(huán)境
本篇文章開始介紹Spark基礎(chǔ)知識,包括Spark誕生的背景,應(yīng)用環(huán)境以及入門案例等,感興趣的同學(xué)可以參考閱讀本文2023-04-04Doris?數(shù)據(jù)模型ROLLUP及前綴索引官方教程
本文檔主要從邏輯層面,描述 Doris 的數(shù)據(jù)模型 ROLLUP 以及前綴索引的概念,以幫助用戶更好的使用 Doris 應(yīng)對不同的業(yè)務(wù)場景,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05如何讓Birt報(bào)表腳本數(shù)據(jù)源變得既簡單又強(qiáng)大
這篇文章主要介紹了如何讓Birt報(bào)表腳本數(shù)據(jù)源變得既簡單又強(qiáng)大,需要的朋友可以參考下2018-11-11