Office中国论坛/Access中国论坛

标题: 新手来看:Access转SQL Server要注意些什么? [打印本页]

作者: 红过刘德华    时间: 2006-6-24 08:05
标题: 新手来看:Access转SQL Server要注意些什么?
方法一:














首先,你要明白什么是 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]

<
作者: jjweb    时间: 2006-6-28 22:27
我们谈论的是 Access 开发的升级,如何升级到 SQL Server 2000

升级成 SQL 的意义何在?  有何优势?
作者: 阿阳    时间: 2006-10-20 06:49
我也想得到这方面的资料




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3