将现有的Access数据库升级为SQL
时间:2007-12-23 来源:不详 作者:迈克DB
WHEREOrders.OrderDateBetween#1/1/1997#And#12/31/1997#
GROUPBYProducts.ProductName,Orders.CustomerID,Year([OrderDate])
PIVOT"Qtr"&DatePart("q",[OrderDate],1,0)In("Qtr1","Qtr2","Qtr3","Qtr4")
还好,你无需在SQLServer中使用Transact-SQL(T-SQL)CASE要害词重新编写一个Access的交叉表查询。下面的SELECT语句描述了使用T-SQL方式重新建立一个交叉表查询的语法:
SELECTCustomers.CustomerID,Customers.CustomerName
SUM(CaseWhenOrders.OrderdateBETWEEN’’01-Jan-1990’’AND’’31-Dec-1996’’
Then[UnitPrice]*[Quantity]Else0End)as1997)
FROMCustomersINNERJOINOrders
ONCustomerID=Orders.CustomerID
隐藏对象
所有的隐藏对象在数据库升级过程中都被忽略。对此,你最好的处理方法是使用程序对象的GetHiddenAttribute属性检查对象。例如,以下代码使用这一方法决定对象是否被隐藏。
DimIsHiddenAsBoolean
IfApplication.GetHiddenAttribute(objtype,objname)Then
IsHidden=True
EndIf
假如特定的对象被隐藏,IsHidden布尔变量将被为True。
包含索引的表格
数据库升级向导不支持没有索引或其他限制的表格。升级向导可以升级一个无索引的表格,但其转换之后只能成为一个只读的表格。幸运的是,解决这一问题很简单:添加一个索引到每一个没有索引的表格。一旦你已经完成升级数据库,请记住将添加的索引删除。
本文来自织梦
数据库升级操作步骤
一旦你已经做好一切预备,并确定操作可以开始。数据库升级向导可以为你提供三种选择:
输出Access表格到SQLServer并链接到Access数据库
使用Pass-Through查询与SQLServer的后台服务器的表格相互通讯
将整个Access数据库移动到一个Access数据库工程(其只与SQLServer联系)
为了启动数据库升级向导,先从工具菜单栏中选择数据库功能,然后从子菜单中选择升级向导。向导的第一个面板提供两种选择:你可以建立一个新的SQLServer数据库来存放Access表格,如图A所示,或者你可以在一个现成的SQLServer数据库中添加表格。选择一个现成的SQLServer数据库将需要输入一个数据服务名称(DSN)。
选择建立一个新的数据库或者使用一个现成的数据库
第二个面板要求获得SQLServer范例的信息。除此之外,你必须认证安全机制(假如存在)和为新的数据库提供一个缺省的名称。
为一个新的数据库命名
在这点上,你可以将需要的表格复制到SQLServer,你也可以指出完成的部分将成为一个完整的ADP或者一个被链接的表格
指明一个ADP或者一个被链接的表格
避开麻烦
每一个开发人员都有不同的数据库升级操作的经验,所以无法保证第一次操作就能够达到成功。然而,假如你遵循本文中提供的有关规则,你应该碰到更少的错误,即使碰到,你也可以很轻易地修正错误,并继续操作。 copyright dedecms
上一篇:实现密码管理的另一种方式 下一篇:优化Microsoft Access提高速度
文章评论
共有位Admini5网友发表了评论 查看完整内容