Access转成SQL数据库的方法_数据库其它

首先,我说的是在ACCESS2000,SQL2000之间转换,其他的我也还没有尝试过,希望大家多多试验,肯定是有办法的。

转换的方法

1、打开“控制面板”下“管理工具”中的“数据库源”。

2、按”添加“添加一个新的数据源,在选择栏里选“Driver do microsoft Access (*.mdb)”,完成后将出现一个框,在“数据库源”里面输入你想写的名称,我取名叫“ABC”,说明不需要填,接着,按下面的选择,寻找你的数据库地址和选中(注意,请先备份自己的ACCESS数据库),然后确定。数据源在这里建好了,剩下转换了。

3、打开SQL2000企业管理器,进入数据库,新建一个空的数据库“ABC”。

4、选择新建立的数据库,按鼠标右键,选择“所有任务”下“导入数据”,按“下一步”继续。

5、在数据库源下拉但中选择”Driver do microsoft Access(*.mdb)“,在”用户/系统DSN“中,选种你刚才添加的”ABC“,按 ”下一步“。

6、“目的”不需要修改,选择服务器(一般下为自己的本机local,也可以选择服务器地址或者局域网地址,确定你的权限是否可以操作,),使用WINDOWS 身份验证指用自己的系统管理员身份操作,使用SQL身份操作验证可以用于网站的操作,推荐用后者。

7、选上使用SQL身份操作验证后,填写你的用户名和密码,我自己选择的是系统默认号码sa,****,数据库选择刚新建的ABC,按下一步。

8、这一步的两个单项选择,从数据源复制表和视图与用一条查询指令指定要传输的数据,选择前者,按下一步继续。

9、这里将出现你自己ACCESS数据库的表,按全选后,下一步。

10、DTS导入/导出向导,看立即运行被选中按下一步。

11、按完成继续。

12、这个步骤你将看到你的数据被导入SQL2000里面,当出现已经成功把XXX个表导入到数据库的字样,而且所有的表前面都有绿色的勾,就表示成功导入所有数据,如果中途出现问题或者表前面有红色的叉的话,说明该表没有成功导入,这时就要回去查看自己的操作是否正确了。

最近又在升级一个程序,使其支持多数据库。
原来的程序数据库为SQL Server,所以使用SQL Server 的“导入和导出数据”功能将一个 SQL Server 数据库转换成了Access数据库,但其中发现了一些问题,但也找到了解决方案,一并记录于此:

1、转换程序会将SQL Server的视图转换成表,而不是Access的查询;
2、在为字段设置默认值为空字符的时候,SQL Server用”,而Access用”";
3、Access中没有GetDate()函数,应该使用Now()函数代替;
4、Access没有SQL Server用来获取客户端机器名的host_name()函数;
5、Access中没有Case When Then语句,但可以用IIF()函数模拟实现功能;
6、发现:Access使用的是Visual Basic的语言结构和函数;
7、转换程序会正确转换SQL Server字段的 IS NULL 属性;
8、Access也支持多字段的索引,只是设置方法有点特别(参见帮助);
9、SQL Server中bit型的1、0值,在Access中为True和False;
10、在Access中使用多个LEFT JOIN这样的语句时,必须用括号做相关的界定;
11、Access的SQL没有注释语句,SQL Server的/**/无法通用;
12、一条Insert语句在Access查询中正常运行,但在程序中出现“Insert Into 语句的语法错误”,后来发现原来是语句中的一个列名是Access的关键字(用[]界定可解决问题),但奇怪的是将该语句放置到Access的查询中执行却不会出错。

需要对转换后的Access数据库进行以下项目的检查,以确保与SQL Server一致:

1、主键。转换后的Access数据库都没有主键,需自己设置;
2、自增字段。转换程序会将SQL Server的自增字段转换为数字型,需手动修改为Access的“自动编号”类型;
3、默认值。转换程序不会转换SQL Server中设置的默认值,需手动设置;
4、bigint型字段。转换程序会将SQL Server的bigint转换为小数,须手动调整为Access的整型或长整型;
5、索引。转换程序不会转换索引,需手动在Access中建立索引。

在Delphi下,想让程序同时支持Access及SQL Server,需注意以下方面:

1、在Access中使用 SELECT * FROM Books WHERE RegDate = ‘2007-5-1′ 是会出现“标准表达式中数据类型不匹配”这样的错误的(RegDate是日期型),必须使用SELECT * FROM Books WHERE RegDate = #2007-5-1# 或 SELECT * FROM Books WHERE RegDate = CDate('2007-5-1′);
但在Access中,Insert、delete和update中使用单引号界定日期却是可以正常执行的。
2、尽量不要使用SQL Server的bigint类型,尤其该字段是自增的情况下;
3、Access的varchar(文本)型最大只有255,所以如果一个文本型字段大于255时,最好定义成备注型(Access中)或text型(SQL Server中);
4、在Access中一般会出现如下错误:不正常地定义参数对象。提供了不一致或不完整的信息。将相应Query的ParamCheck设为False即可;
5、Access中的逻辑值在库中为-1和0,而SQL Server中为1和0,所以写BoolField = 1这样的语句有兼容性问题,应该改为BoolField <> 0;
6、在Access中有主键的Query才可更新,而SQL Server无此要求。

以上就是Access和SQL数据库相互转换的方法及注意事项。

时间: 2024-10-04 17:12:35

Access转成SQL数据库的方法_数据库其它的相关文章

多种获取远程连接access数据库的方法_数据库其它

远程(如通过互联网)连接access数据库的方法  前段时间很多人问远程(如通过互联网)连接access数据库的方法,最近写了个例子,与大家共享:  使用了TCP/IP,ADO及XML(需要安装Microsoft XML 4.0.).分服务器和客户端两部分,服务器可以多用户同时连接.远程连接Access数据库有很多方法,我以前已经比较详细的回答过(见下面所列的5种方法),我现在这个例子属于其中的第3种方法(不需要使用RDS或Web服务器).  --------------------------

分享三种高效率SQL语句分页方法_数据库其它

1.如果有一个自动增长的id字段,则: 定义二个变量:Page,PageCount Select top PageCount * From [tb_code] Where id>=(select min(id) from (select top (Page-1)*PageCount+1 id from [tb_code] order by id desc) as t) order by id desc 原理,根据ID计算出(Page-1)页的最小值,然后用TOP关键字及可解决问题. 2.SELE

Access转换成SQL Server需要注意事项整理_数据库其它

一,首先,我说的是在ACCESS2000,SQL2000之间转换,其他的我也还没有尝试过,希望大家多多试验,肯定是有办法的:  二,转换的方法  1,打开"控制面板"下"管理工具"中的"数据库源":  2,按"添加"添加一个新的数据源,在选择栏里选"Driver do microsoft Access  (*.mdb)",完成后将出现一个框,  在"数据库源"里面输入你想写的名称,我取名

未在本地计算机上注册“Microsoft.Jet.OleDb.4.0”提供程序错误的解决方法_数据库其它

最近在做一个导入Excel数据到数据库的程序出现了如下错误: 计算机上注册Microsoft.Jet.OleDb.4.0提供程序错误的解决方法_数据库其它-microsoft.jet.oledb"> 运行环境 数据库:SqlServer2008 R2 OS:Windows Server 2008 R2 IIS:IIS7 解决方法 在应用程序对用的应用程序池的高级设置中设置"启用32位应用程序"为"True"

Access数据库升级为SQL数据库的注意事项和方法_数据库其它

很多Access和SQL Server开发人员都经常面临着将一个Access数据库升级到SQL Server数据库的问题.由于存在现有的Access升级向导,这一转变的过程就会变得相当简单,尤其是当你建立一个与SQL Server数据相联系的ADP的时候.然而,向导并不是十全十美的,需要解决的问题还是大有存在. 首先,有些对象并不是简单的升级,所以这时你不得不人为地处理.第二,很多Access特性──比如一些查询类型,对象,以及特定的数据类型在你没有做好升级之前的准备的情况下就会导致错误的产生.

如何把ACCESS转成SQL数据库

access|sql|数据|数据库 很多朋友想用SQL2000数据库的编程方法,但是却又苦于自己是学ACCESS的,对SQL只是一点点的了解而已,这里我给大家提供以下参考---将ACCESS转化成SQL2000的方法和注意事项 一,首先,我说的是在ACCESS2000,SQL2000之间转换,其他的我也还没有尝试过,希望大家多多试验,肯定是有办法的: 二,转换的方法 1,打开"控制面板"下"管理工具"中的"数据库源": 2,按"添加&q

ms SQL server数据库备份、压缩与SQL数据库数据处理的方法_数据库其它

一.备份数据库  1.打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server 2.SQL Server组-->双击打开你的服务器-->双击打开数据库目录 3.选择你的数据库名称(如论坛数据库Forum)-->然后点上面菜单中的工具-->选择备份数据库 4.备份选项选择完全备份,目的中的备份到如果原来有路径和名称则选中名称点删除,然后点添加,如果原来没有路径和名称则直接选择添加,接着指定路径和文件名,指定后点确定返回备份窗口,接着点确定进行备份  二.

在CRUD操作中与业务无关的SQL字段赋值的方法_数据库其它

提高效率一直是个永恒的话题,编程中有一项也是可以提到效率的,那就是专注做一件事情,让其它没有强紧密联系的与之分开.这里分享下我们做CRUD时遇到的常见数据处理场景: •数据库表字段全部设计为非空,即使这个字段在业务上是可以为空的,之所以将数据库表字段全部设计为非空,这里有优点也有缺点,我们认为优点大于缺点,所以选择了它 优点: 1.获取值时,不用判断这个字段是否为null,直接可用于逻辑运算. 2.mysql DBA推荐此方案,可能是有利于性能,这里我并非求证过. 缺点: 1.业务含义没有nul

数据库设计的折衷方法_数据库其它

作项目分析,数据库设计是一个很重要也很难的问题, 完全按照范式有可能不符合用户需求,不利于编程, 看来是具体问题具体分析,数据库设计是范式和需求的折中. 在上学时,没觉得数据类型有多重要,现在发觉了解数据类型 的具体内容也是很重要的,可以知道不同数据库之间的兼容问题 该怎么处理. 数据库设计技巧: 第2 部分- 设计表和字段 1. 检查各种变化 我在设计数据库的时候会考虑到哪些数据字段将来可能会发生变更.比方说,姓氏就是如此(注 意是西方人的姓氏,比如女性结婚后从夫姓等).所以,在建立系统存储客