This Domain(Admin5.com) is for Sale:

将Access数据库移植到SQLServer

时间:2007-12-23  来源:不详  作者:迈克DB



移植MicrosoftAccess的查询到存储过程和视图

每个Access查询都必须用以下的一系列语句替换:
CREATEPROCEDURE<NAME_HERE>AS
<SELECT,UPDATE,DELETE,INSERT,CREATETABLEstatementfromMicrosoftAccess>
GO

CREATEVIEW<NAME_HERE>AS
<Place(SELECTonly,withnoparameters)MicrosoftAccessQuery>
GO

对每个Access查询应执行:

打开Access,然后在SQLServer中,打开SQLServer查询分析器。
在Access的窗口中点击“Queries”tab键,然后点击“Design”按钮。
在“View”菜单上点击“SQL”按钮。
将整个查询粘贴到SQLServer查询分析器中。
测试语法,保存事务处理SQL语句以备后用,或者在中执行这些语句。您可以选择将事务处理SQL语句保存到一段脚本程序中。

移植MicrosoftAccess查询到事务处理SQL语句

大部分的Access查询应该转换成存储过程和视图。然而,有一些应用程序开发者不太常用的语句可以存储为事务处理SQL脚本,一种以sql为文件扩展名的文本文件。这些文件可以在SQLServer查询分析器中运行。

假如您打算将一些Access查询转换为sql文件的话,可以考虑根据它们使用的方式有区别地将这些事务处理SQL语句分别放在几个脚本程序中。例如,您可以将必须以同样频率运行的事务处理SQL语句归类到同一个脚本中。另一个脚本中则应包含所有只在某些条件下运行的事务处理SQL语句。此外,必须以一定顺序执行的事务处理SQL语句应当归类到一个不连续的脚本中。

本文来自织梦



将Access语句转移到事务处理SQL文件

将语句拷贝到SQLServer查询分析器中
使用蓝色的多选项图标分析语句
在适当时候执行该语句

要执行Access中的创建表(MAKETABLE)的查询任务的开发者在SQLServer中有几种选择。开发者可创建下列对象之一:

一个视图
视图具有动态的虚拟表的效果,可提供最近的信息。这是一个输入/输出强化器,因为每当发出一个查询时它都要求对数据表重现建立连接。

一个临时表
临时表为已连接的用户会话建立一个快照。您可以建立局部的或全局的临时表。局部临时表只在当前会话中可见,而全局临时表则在所有会话都是可见的。在局部临时表的名字前加上单个数字的前缀((#table_name)),而在全局临时表的名字前加上两位数字的前缀(##table_name)。对临时表的查询执行起来非常快,因为它们取得一个结果集的时候通常只用一个表,而不是将多个表动态地连接在一起来。
如欲了解临时表的其他信息,请参阅SQLServer在线参考书。

SQLServer7.0中的数据转换服务(DTS)答应您通过创建包来实现临时表建立的标准化、自动化和进度安排。例如,当您移植Access2.0中的Northwind范例时,用于季度数据报表的交叉表可转变为一个视图或者一个可在规范基础上建立临时表的数据转换。如欲了解关于DTS的其他信息,请参阅SQLServer在线参考书。 织梦好,好织梦

其他设计上的考虑
下面是当您将您的Access应用移植到SQLServer时必须考虑的一些其他问题:

使用参数
带参数的SQLServer存储过程需要一种不同于Access查询的语法格式,例如:
Access2.0格式:
查询名:EmployeeSalesByCountry,inNWIND.mdb:

PARAMETERS[BeginningDate]DateTime,[EndingDate]DateTime;
SELECTOrders.[OrderID],[LastName]&","&[FirstName]ASSalesperson,Employees.Country,Orders.[ShippedDate],[OrderSubtotals].SubtotalAS[SaleAmount]
FROMEmployeesINNERJOIN(OrdersINNERJOIN[OrderSubtotals]ONOrders.[OrderID]=[OrderSubtotals].[OrderID])ONEmployees.=Orders.

看完这篇,您有何感觉呢?

文章评论

共有位Admini5网友发表了评论 查看完整内容

24小时热门信息