ACC转MSSQL教程
3,在对ACCESS数据库处理中,sql语句中直接可以用一些VB的函数,像cstr()、cint等函数,而对SQL
SERVER数据库处理中,却不能用。
4,其他
(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. 再比如这句:select from
user where (UsrName not like ‘管理员’ and
‘游客’),在AC数据库中可以这样使用,但在MSSQL中就必须这样:select from user where (UsrName not
like ‘管理员’ and acc not like ‘游客’)。
数据库中如含有index等字段,在写SQL语句的时候,要注意加上[]将该字段括起来,如:select from table where
[index]=’yes’,因为将AC转化为MSSQL后,会自动加上中括号。
(4)日期函数不相同,在对ACCESS数据库处理中,可用date()、time()等函数,但对SQL
SERVER数据库处理中,只能用datediff,dateadd等函数,而不能用date()、time()等函数。
now(),time(),date()可能要改成getdate()[关于这个,我AC2003转SQL的时候并没有出现,但还是要注意下]。datediff(‘d’,
time1, time2)要改成datediff(day, time1, time2)
(5)有可能一些true/false类型不能使用,要变为1/0。
追忆收集