搜索
首页数据库mysql教程ACCESS转SQL SERVER的经验

如何把ACCESS转成SQL数据库-access转sql软件 access转sql软件 软件简介: CooSel2.0 CreateSQL V1.05 档案包含 ASP 和 Exe 两个版本 Asp版本不支持直接导入到SQLserver,只支持脚本的编写 Exe 版本可以直接导入到SQLserver 功能: 生成升迁 SQL脚本,保存为 *.

如何把ACCESS转成SQL数据库-access转sql软件

access转sql软件

软件简介:
CooSel2.0 CreateSQL V1.05


档案包含 ASP 和 Exe 两个版本
Asp版本不支持直接导入到SQLserver,只支持脚本的编写
Exe 版本可以直接导入到SQLserver

功能:
生成升迁 SQL脚本,保存为 *.sql文件后,SQL2000的查询分析器里调入执行
生成升迁 ASP脚本,这样你可以用该脚本和相应MDB数据库上传到服务器在线升迁
直接执行Access数据导入到SQL2000服务器(表结构和数据)

V1.03
版本修正 bit 类型在默认数值不能正常转换的问题
时间默认值增加转换 time() date() 为 getdate()
视图的Vba函数未作处理,稍候版本会推出支持对应SQLserver的T-SQL转换

V1.04
支持输入建库和登陆创建
支持Access直接导入SQL

V1.05
版本添加直接导入SQLserver功能
添加导入选项 全部表 索引 按Unicode编码导入,是否生成导入数据等
修正默认值处理外围单双引号的问题,Access的默认值包围是没有单引号的,有的错误以为比如设置为空字符为 ''
对access来说是错误的,不等同于SQLserver中的(''),导入程序对此自动修正

V1.05找了很多论坛和整站数据库作了测试,都成功导入

程序生成从 Access2000 MDB 数据库到 SQL server的升迁脚本(表结构和数据)
包括默认,索引主键外键视图 和整个MDB库里的表
----------------
源码编制: MiscroSoft Visual Basic 6.0
编译环境: windows2000 server 2.00.2195 SP4

如果提示 COMDLG32.OCX 版本过期
用随程序提供的 COMDLG32.OCX 替代 windows\system32\COMDLG32.OCX 下的
或者运行regocx.exe 重注册一下COMDLG32.OCX控件
注意备份源文件名,微软的文件选取对话框控件



很多朋友想用SQL2000数据库的编程方法,但是却又苦于自己是学ACCESS的,对SQL只是一点点的了解而已,这里我给大家提供以下参考---将ACCESS转化成SQL2000的方法和注意事项

一,首先,我说的是在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个表导入到数据库的字样,而且所有的表前面都有绿色的勾,就表示成功导入所有数据,如果中途出现问题或者表前面有红色的*的话,说明该表没有成功导入,这时就要回去查看自己的操作是否正确了.

三,数据修改

1,由于SQL2000里面没有自动编号,所以你的以自动编号设置的字段都会变成非空的字段,这就必须手工修改这些字段,并把他的标示选择是,种子为1,增量为1,

2,另外,ACCESS2000转换成SQL2000后,原来属性为是/否的字段将被转换成非空的bit,这时候你必须修改成自己想要的属性了;

3,另外,大家要注意对时间函数的把握.ACCESS与SQL是有很多不同的.

ACCESS转MS 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数据库处理中,只能用datediff,dateadd等函数,而不能用date()、time()等函数。

5.在对ACCESS数据库处理中,sql语句中直接可以用一些VB的函数,像cstr()函数,而对SQL SERVER数据库处理中,却不能用。


Access转SQL Server要注意些什么?
问题:

新手来看:Access转SQL Server要注意些什么?

方法一:

在这里,我们谈论的是 Access 开发的升级,如何升级到 SQL Server 2000。你有几种升级方法可以选择。

1、你可以采用链接表方式,通过链接表链接到 SQL SERVER 2000 中的表。原先在 ACCESS 中开发的程序基本无需更改,除非你要更改数据结构。

2、你可以采用 ADP 的方式升级数据库,ADP 方式基本抛弃了原先 MDB 大多数模式。你必须适应新的数据结构,接受 JET SQL 编写的查询变成 T-SQL 编写的存储过程、视图等等对象的结果。也就是说你必须重新学习 T-SQL 。

方法二:

给你一些我的经验吧。反正access到sqlserver的移植是很痛苦的,我弄过好几次了。
希望大家能补充一下。

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)来使用。UploadFiles/2005-12/1222208225.rar

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数据库处理中,却不能用

http://www.bztv.net/blog/read.php/84.htm
************************************************************

1. ACCESS的数据库中的自动编号类型在转化时,sql server并没有将它设为自动编号型,我们需在SQL创建语句中加上identity,表示自动编号!

2. 转化时,跟日期有关的字段,SQL SERVER默认为smalldatetime型,我们最好将它变为datetime型,因为datetime型的范围比smalldatetime型大。

3. 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数据库处理中,却不能用。

1,对于日期字段字段

access表示为:#1981-28-12#

SQLSERVER表示为:‘‘1981-02-12‘‘

2, 多表操作时update语句的区别ACCESSSQLSERVER中的UPDATE语句对比:

SQLSERVER中更新多表的UPDATE语句:

UPDATE Tab1

SET a.Name = b.Name

FROM Tab1 a,Tab2 b

WHERE a.ID = b.ID;

ACCESS中应该是

UPDATE Tab1 a,Tab2 b

SET a.Name = b.Name

WHERE a.ID = b.ID;

:ACCESS中的UPDATE语句没有FROM子句,所有引用的表都列在UPDATE关键字后.其他差不多

3,delete语句

access中删除时用:delete * from table1 where a>2 即只要把select 语句里的select 换成delete就可以了。

Sql server 中则为: delete from table1 where a>2 即没有*

4as 后面的计算字段区别

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可以不要。

 sqlserver 中则: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,表名任意。

7access升级到sqlserver时,

  可以用sqlserver的数据导入工具导入数据,但要做必要的处理。

access中的自动编号,不会自动转换SQL中的自动编号,只能转换为int型,要把它手工改成标识字段,种子为1

把所有导入被sqlserver转化成的以n开头的字段类型的n去掉,如nvarchar->varchar.把需要有秒类型的日期字段改成datatime类型(SQL会把所有的日期开转化成smalldatetime型)

8,true1=1

accesswhere true表示条件为真,

sqlserverwhere 1=1表示条件为真

9,判断字段值为空的区别

普通空:

Accesssql server一样 where code is null where code is nol null

条件空:

Accessiif([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

补充:

ACCESSSQL2000SQL语句有区别的

比如now()SQL2000中必须改为getdate()

还有关键词必须加[] ,像ACCESS中字段名用name SQL20000必须加[name] 否则出错

数据库连接字重新配置

1. access sql 数据库后需要建立各表关键字以及递增量设置部分数据类型需要重新定义

2. now() 函数是可接受的,但在日期比较过程中需要用 getdate()

3. 保留字需要加 []

4. 单双引号需要转变

5. 遵循标准sql定义(最关键的一条)

http://louiswun.itpub.net/post/10311/189977

*****************************************************


声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
access如何设置验证规则access如何设置验证规则Apr 10, 2024 am 10:59 AM

Access 验证规则是一种数据验证工具,用于确保数据符合特定条件,防止输入无效数据。设置验证规则的步骤:1. 选择要设置验证规则的字段;2. 打开“字段属性”对话框并切换到“查找”选项卡;3. 在“验证规则”字段中输入验证规则;4. 在“验证文本”字段中输入不符合规则时的错误消息;5. 单击“确定”保存更改。

microsoft access是什么软件microsoft access是什么软件Mar 03, 2023 am 11:37 AM

microsoft access是由微软发布的关系数据库管理系统;它结合了MicrosoftJet Database Engine和图形用户界面两项特点,是Microsoft Office的系统程序之一。

access和trunk端口的区别是什么access和trunk端口的区别是什么Oct 31, 2023 pm 05:59 PM

access和trunk端口的区别:1、Access端口用于连接终端设备,提供单个VLAN的接入,而Trunk端口用于连接交换机之间,提供多个VLAN的传输;2、Access端口只传输属于指定VLAN的数据,而Trunk端口可以传输多个VLAN的数据,并使用VLAN标签进行区分。

vb中怎么连接access数据库vb中怎么连接access数据库Oct 09, 2023 am 11:38 AM

vb中连接access数据库的步骤包括引用必要的命名空间、创建连接字符串、创建连接对象、打开连接、执行SQL语句和关闭连接。详细介绍:1、引用必要的命名空间,在VB项目中,首先需要引用“System.Data`和`Microsoft.Office.Interop.Access”命名空间,以便使用ADO.NET和Access相关的类和方法,可以在VB项目的引用中添加这些命名等等。

access中如何导入excel数据access中如何导入excel数据Apr 10, 2024 pm 01:44 PM

将 Excel 数据导入 Access 的步骤:1. 打开 Access 数据库。2. 创建链接的表,选择 Excel 工作簿。3. 选择 Excel 表格。4. 映射字段。5. 选择数据选项。6. 导入数据。7. 管理链接的数据。

access数据库的扩展名是什么access数据库的扩展名是什么Apr 10, 2024 am 11:10 AM

Access 数据库文件的扩展名为 .accdb,自 Microsoft Access 2007 起开始使用,用于识别包含结构化数据的容器文件,如表、查询和窗体。

access是什么软件access是什么软件Apr 10, 2024 am 10:55 AM

Microsoft Access 是一款关系型数据库管理系统 (RDBMS),用于存储、管理和分析数据。它主要用于数据管理、导入/导出、查询/报表生成、用户界面设计和应用程序开发。Access 优势包括易用性、集成数据库管理、强大灵活、与 Office 集成和可扩展性。

access数据库sql语言中如何把数字1显示为01access数据库sql语言中如何把数字1显示为01Apr 10, 2024 pm 01:17 PM

在 Access SQL 中,使用 FORMAT 函数,并将格式指定为 "00",可以将数字 1 显示为文本格式 "01"。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前By尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),