浅谈ACCESS数据库升迁SQLSERVER
作者:无从考证 来源:转载 发布时间:2005-9-1 17:16:51
在软件开发过程中经常会遇到数据库升迁的问题,原因比较多,如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,b
sqlserve 中则'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=1
access用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只安装了必要的驱动程序,其它的程序一个也没有装(专门装来测试这个的)
分享到:
相关推荐
"SQLSERVER 远程访问 Access 数据库" SQLSERVER 远程访问 Access 数据库是指使用 SQLSERVER 连接和操作远程的 Access 数据库。这个技术可以帮助开发者和数据库管理员更方便地管理和维护分布式的数据库系统。在本文...
Access数据库和SQL Server数据库都是Microsoft公司推出的数据库管理系统,它们在功能上有一些相似之处,但各自又具有独特的特点和适用场景。 一、Access数据库简介 Access数据库是Microsoft Office套件中的一个...
### SQLServer连接ACCESS数据库的实现:深度解析与实践指南 #### 异构数据库连接概览 在企业级应用中,数据库通常不会局限于单一类型或品牌,而是存在多种数据库平台共存的情况,这被称为异构数据库环境。为了实现...
在本文中,我们将深入探讨如何使用ASP.NET技术将数据从ACCESS数据库导入到SQL Server。这是一项常见的任务,特别是在需要将小型数据库系统升级到更强大、更稳定的平台时。 首先,我们需要了解ACCESS数据库和SQL ...
标题中的“access升迁到sql”指的是将基于Microsoft Access数据库系统的数据和应用程序迁移或升级到更强大的Microsoft SQL Server的过程。Access是一种优秀的轻量级数据库解决方案,适用于小型企业和个人,但随着...
Access数据库-SQL语句资料.mdb
Access数据库与SQLServer数据库的区别及应用
《Access数据库与SQL Server数据库主要功能的比较》 本文主要探讨了两种由微软发布的数据库管理系统——Access和SQL Server的主要功能,以及它们各自的优势、劣势和适用场景。Access数据库常用于小型企业或个人项目...
本文主要探讨了Access数据库与SQL Server数据库之间的差异以及它们在实际应用中的优缺点。首先,从数据库引擎的角度来看,Access是基于Microsoft Jet Database Engine的桌面数据库管理系统,适合小型项目和个人使用...
使用Access作为SQL Server数据库的前端开发工具 在本文中,我们将介绍如何使用Microsoft Access作为SQL Server数据库的前端开发工具。通过使用ODBC连接,Access可以与SQL Server数据库建立连接,从而实现对SQL ...
Access和SQL Server是两种广泛应用的关系型数据库系统,分别由微软公司提供。Access主要用于小型到中型企业,而SQL Server则更适合大型企业或需要高可用性、可扩展性和性能的场景。本文将详细介绍如何将Access数据库...
将Access数据库导入到SQL Server 2005 Express中是一项重要的数据迁移任务,尤其是在企业级应用中,这种操作能够帮助用户充分利用SQL Server的强大功能和稳定性,同时保持与Access数据库的兼容性。以下是对这一过程...
**升迁向导** 是Access自带的一个功能,它允许用户直接在Access内部将数据库升迁到SQL Server。在Access 2000及以上版本中,用户可以在"工具"菜单的"数据库实用工具"中找到升迁向导。对于Access 97用户,需要先下载...
使用 Access 数据库的数据升迁功能可以将 Access 数据库中的所有数据以及表关系导入到 SQL Server 数据库中。首先,点击“工具”菜单,选择“数据库实用工具”,然后选择“升迁向导”,这时会提示您该功能尚未安装,...
ACCESS和SQL Server分别是微软公司推出的两种不同类型的数据库系统,各有其特点和应用场景。本篇将详细探讨ACCESS与SQL Server数据库之间的数据转换方法,以及它们各自的特点。 ACCESS是一款轻量级、易于使用的...
这时候,将Access数据库升级到SQL Server或其他更强大的关系型数据库管理系统(RDBMS)就显得尤为必要。本文将详细介绍如何从Access数据库平滑过渡到SQL Server,以及在这一过程中可能遇到的问题和解决方案。 #### ...
该软件提供了一个标签式界面(用于每个表和对象)以及行内编辑功能和一个过滤数据设置或者使用标准的SQL语法运行定制的SQL查询的选项。其它功能包括导出表到CSV,数据打印,记录浏览等等。MDB Viewer Plus可以独立...
### 如何将Access数据库导入到SQL Server 2005 在进行Access数据库与SQL Server 2005之间的数据迁移时,我们首先需要了解这两种数据库系统的不同特性以及迁移过程中可能遇到的问题。本文将详细介绍如何将Access...
Office数据库升迁 Access 导入 SQL Server,相信大家都知道 SQL-Server 数据库导入导出功能吧,但当你装了精简版的SQL-Server这个功能就会没有了,也就是无法实现数据库导入导出,那么怎么办 写SQL语句? Insert ...