大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 数据库 -> MSAccess -> 浅谈ACCESS数据库升迁SQLSERVER

浅谈ACCESS数据库升迁SQLSERVER

时间: 2021-08-13 作者:daque

 在软硬件开拓进程中常常会遇到数据库提升的题目,因为比拟多,如acsess考察速率比sql server慢、简略数据记载后access会留住空档,文献越来越大(也可用收缩建设的办法减小文献巨细,但太烦恼),考察速率越来越慢,以至会数据库破坏,破坏得比拟轻的不妨找第三方东西来建设,便重要时会引导数据库没辙建设,或建设后数据记载会破坏。以是咱们大有需要提升咱们现有的access数据库到sql server;现谈谈笔者在提升时的做法及提防事变1,对于日子字段字段  access表白为:#1981-28-12#  sqlserver2000表白为:''1981-02-12''2,sql语句辨别,select ,update 在对单表操纵时都差不离,但多表操纵时update语句的辨别access与sqlserver中的update语句比较:  sqlserver中革新多表的update语句:  update tab1  set a.name = b.name  from tab1 a,tab2 b  where a.id = b.id;  同样功效的sql语句在access中该当是  update tab1 a,tab2 b  set a.name = b.name  where a.id = b.id;即:access中的update语句没有from子句,一切援用的表都列在update要害字后.革新单表时:都为:update table1 set ab='12',cd=444 where ....3,delete语句   access中简略时用:delete * from table1 where a>2 即只有把select 语句里的select 换成delete就不妨了。  sqlserve 中则为: delete from table1 where a>2 即没有*号4,as 反面的计划字段辨别access中不妨如许:select a,sum(num) as kc_num,kc_num*num as all_kc_num  即不妨把as后的字段看成一个数据库字段介入计划。sqlserver 中则为:select a,sum(num) as kc_num,sum(num)*num as all_kc_num  即不不妨把as后的字段看成一个数据库字段介入计划。5,[.]与[!]的辨别  access中多表共同查问时:select tab1!a as tab1a,tab2!b tab2b from tab1,tab2  ,中央的as不妨不要。 sqlserve 中则:select tab1.a as tab1a,tab2.b tab2b from tab1,tab2  ,中央的as不妨不要。6,共同查问时,   access中多表共同查问:'select a,b from(select a,b from tab1 where a>3 union select c,d from tab2 ) group by a,bsqlserve 中则'select a,b from(select a,b from tab1 where a>3 union select c,d from tab2 ) tmptable group by a,b即要加一个虚的表tmptable,表名大肆。---7,access晋级到sqlserver时,  不妨用sqlserver的数据导出东西导出数据,但要做需要的处置。  access中的机动编号,不会机动变换sql中的机动编号,只能变换为int型,要把它细工改成标识字段,健将为1,把一切导出被sqlserver变化成的以n发端的字段典型的n去掉,如nvarchar->varchar.把须要有秒典型的日子字段改成datatime典型(sql会把一切的日子开变化成smalldatetime型)8,true与1=1access用where true表白前提为真,sqlserver用where 1=1表白前提为真9,确定字段值为空的辨别普遍空:access和sql server一律 where code is null 或 where code is nol null前提空:    access:iif([num] is null,0,[num])  或 iif([num] is null,[num1],[num])     sqlserver: isnull([num],0) 或 isnull([num],[num1])10,sql语句取子串的辨别access:mid(字段,n1,[n2]),left(字段,n),right(字段,n)如:select left(cs1,4)+'-'+cs2 as cs3 sqlserver: substring(expression, start, length)如:select substring(cs1, 1, 2) + substring(cs1, 4, 2) + '-' + cs2 as cs3  附:怎样颁布鉴于ado+sql server的运用  很多伙伴在问怎样颁布鉴于ado+sql server的运用步调,笔者作了尝试,如次:win98考察xp或2k的sql server 2000效劳器,不必任何sql的dll文献,只有保护98能与其它处事组里的机子平常通讯(能考察其余一台机子里的共享文献),这一步是保护98安置了这三个和议,tcp/ip,spx/ipx,netbeuidg三个和议, 我的尝试情况是,98se+xp,98se只安置了需要的启动步调,其它的步调一个也没有装(特意装来尝试这个的) 

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.