设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 5067|回复: 2
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
1#
发表于 2006-6-24 08:05:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
方法一:














首先,你要明白什么是 Access 开发,什么是 JET 应用,如果你还不能明白,请参考:



http://access911.net/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 。

另外请参考:
http://access911.net/index.asp?board=4&recordid=72FAB61E14DC







方法二:














给你一些我的经验吧。反正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)来使用。
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数据库处理中,却不能用。





Visual Basic for Applications 与 SQL Server Transact-SQL 之间的函数比较 (ADP)::



<DIV>

<TABLE width="100%">



<TR>



<TD width=*>


[url=mkMSITStore:\Program%20Files\Microsoft%20Office\OFFICE11\2052\acmain11.chm::/html/acrefComparingVBSQLServerFunctions.htm#][img]mkmsitstore:msohlp11.chm::/html/collapsetri.gif[/img]全部隐藏[/url]

Visual Basic for Applications 与 SQL Server Transact-SQL 之间的函数比较 (ADP)

注释  本主题中的信息仅适用于 Microsoft Access 项目 (.adp)。

下表比较了 Microsoft Visual Basic for Applications (VBA) 和 Microsoft SQL Server Transact-SQL 中的常用函数。有关 Transact-SQL 标量函数的详细信息,请参阅 SQL Server 文档。

注意   “升迁向导”将下列 VBA 函数(用于表有效性规则、字段验证和默认情况下)转换为对等的 Transact-SQL 函数。

[url=mkMSITStore:\Program%20Files\Microsoft%20Office\OFFICE11\2052\acmain11.chm::/html/acrefComparingVBSQLServerFunctions.htm#]字符串函数[/url]

<
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2006-6-28 22:27:00 | 只看该作者
我们谈论的是 Access 开发的升级,如何升级到 SQL Server 2000

升级成 SQL 的意义何在?  有何优势?
3#
发表于 2006-10-20 06:49:00 | 只看该作者
我也想得到这方面的资料
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-10 16:03 , Processed in 0.104915 second(s), 26 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表