如何把ACCESS转成SQL数据库
很多朋友想用SQL2000数据库的编程方法,但是却又苦于自己是学ACCESS的,对SQL只是一点点的了解而已,这里我给大家提供以下参考---ACCESS转化成SQL2000的方法和注意事项
一,首先,我说的是在ACCESS2000SQL2000之间转换,其他的我也还没有尝试过,希望大家多多试验,肯定是有办法的;
二,转换的方法
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数据库的表,按全选后,下一步;
10DTS导入/导出向导,看立即运行被选中按下一步,
11,按完成继续;
12,这个步骤你将看到你的数据被导入SQL2000里面,当出现已经成功把XXX个表导入到数据库的字样,而且所有的表前面都有绿的勾,就表示成功导入所有数据,如果中途出现问题或者表前面有红的叉的话,说明该表没有成功导入,这时就要回去查看自己的操作是否正确了.
三,数据修改
1,由于SQL2000里面没有自动编号,所以你的以自动编号设置的字段都会变成非空的字段,这就必须手工修改这些字段,并把他的标示选择是,种子为1,增量为1
2,另外,ACCESS2000转换成SQL2000后,原来属性为是/否的字段将被转换成非空的bit,这时候你必须修改成自己想要的属性了;
3,另外,大家要注意对时间函数的把握.ACCESSSQL是有很多不同的.
ACCESSMS SQL数据库的几点经验
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.
4.日期函数不相同,在对ACCESS数据库处理中,可用date()time()等函数,但对SQL SERVER数据库处理中,只能用datediffdateadd等函数,而不能用date()time()等函数。
5.在对ACCESS数据库处理中,sql语句中直接可以用一些VB的函数,像cstr()函数,而对SQL SERVER数据库处理中,却不能用。
AccessSQL Server要注意些什么?
方法一:
首先,你要明白什么是 Access 开发,什么是 JET 应用,如果你还不能明白,请参考:
access911/index.asp?board=4&recordid=79FAB51E12DC
在这里,我们谈论的是 Access 开发的升级,如何升级到 SQL Server 2000。你有几种升级方法可以选择。
1、你可以采用链接表方式,通过链接表链接到 SQL SERVER 2000 中的表。原先在 ACCESS 中开发的程序基本无需更改,除非你要更改数据结构
2、你可以采用 ADP 的方式升级数据库,ADP 方式基本抛弃了原先 MDB 大多数模式。你必须适应新的数据结构,接受 JET SQL 编写的查询变成 T-SQL 编写的存储过程、视图等等对象的结果。也就是说你必须重新学习 T-SQL 另外请参考:
access911/index.asp?board=4&recordid=72FAB61E14DC
方法二:
给你一些我的经验吧。反正accesssqlserver的移植是很痛苦的,我弄过好几次了。
希望大家能补充一下。
1.数据库导入以后,自动增加字段需要重写,所有的数字类型需要增加长度,最好用
decimal
2.所有的默认值都丢失了。主要是数字类型和日期类型。
3.所有now()time()date()要改成getdate()
4.所有datediff('d', time1, time2)要改成datediff(day, time1, time2)
5.有可能一些true/false类型不能使用,要变为1/0
6.备注类型要通过cast(column as varchar)来使用。
7.CursorType要改成1,也就是打开数据库时要给出第一个数字参数为1,否则记录可能
显示不完整。
8.isnull(rowname)要改成rowname = null
方法三:
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".
    4.日期函数不相同,在对ACCESS数据库处理中,可用date()time()等函数,但对
    SQL SERVER数据库处理中,只能用datediff,dateadd等函数,而不能用date()time()等函数。
    5.在对ACCESS数据库处理中,sql语句中直接可以用一些VB的函数,像cstr()函数,而对SQL SERVER数据库处理中,却不能用。
Access 转成SQL Server2000 数据库的一个绝对成功的好方法 
前几天在把网站的数据库从access转换成sql是遇到了不少问题,下面的方法可以使转换成功!
动网数据库Access 转成SQL Server2000 数据库的一个绝对成功的好方法:
步骤如下:
1、必须先安装Microsoft Office Access 2003,SQL Server2000
2、把旧的动网数据库备份,备份完成后,用Access 2003打开动网旧数据库,在打开时会出现一个警告,不要理会它(安全警告),按打开键
,打开后按工具栏——数据库实用工具——转换数据库——转换为2002-2003格式,把数据库转换成2003格式。
3、转换完成后再用Access 2003打开,打开后按工具栏——数据库实用工具——升迁向导——新建数据库——填写SQL数据库登陆名称、密码和
要新建的动网数据库(准备转成新的动网数据库),按下一步,按“ 》”键,再按下一步,选取所有选项,再按下一步,选择“不对应用程序
作任何改动”,再按完成。
4、打开SQL企业管理器——数据库---选中相应的数据库---右键所有任务-----生成SQL脚本——常规——全部显示——编写全部对象脚本——
确定(记住存放的位置)。
5、用记事本打开刚才生成的SQL脚本,在编辑栏——替换——查内容为“datetime”替换为“smalldatetime——替换全部;完成后再在编
辑栏——替换——查内容为“nvarchar”替换为“varchar——替换全部,完成后保存退出。
6、打开SQL企业管理器——数据库——点击这个数据库一下新建的动网数据库,然后在工具栏——SQL查询分析器——文件——打开——“刚才
生成的SQL脚本”——查询——执行,然后关闭窗口。
(有的朋友说,用sql版自带的sql脚本也可以,大家不妨试试看)
7、再回到SQL企业管理器——数据库——点击这个数据库一下新建的动网数据库,然后打开工具栏——数据库转换服务——导入数据——下一
——数据源“Microsoft Access”文件名“为旧的动网数据库”——下一步——再下一步——从源数据复制表和视图——sql语句替换表中内容下一步——全选
下一步——立即运行——下一步——完成。
8、修改动网文件夹两个文件conn.aspinc"const.asp
ACCESSSQL需要注意的问题

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。