七彩课堂[网页设计知识系列]
Access数据库移植到SQL Server7(4)
嵌套查询(Nested Queries)
在嵌套形式中,某些Access查询是在别的查询的顶层上创建的。Access中的嵌套查询在SQL Server中变成为嵌套视图。而ORDER BY不能作为视图定义的一部分,可以用附加一个查询视图的SELECT语句来代替它。如果你有嵌套的Access查询,你需要创建一系列视图,然后创建那些在视图上执行SELECT语句的存储过程,并且把ORDER BY子句粘贴到SELECT语句上。
例如,下面的Access查询:
SELECT *
FROM STUDENTS
WHERE COUNTRY = "USA"
ORDER BY LAST_NAME
变成一个SQL Server视图和存储过程
CREATE VIEW US_STUDENTS AS
SELECT * FROM STUDENTS
WHERE COUNTRY = "USA"
CREATE PROCEDURE US_STUDENTS_ORDER AS
SELECT * FROM US_STUDENTS ORDER BY LAST NAME
检查SQL Server
你可以使用SQL Server查询分析器的查询菜单上的Parse命令检查SQL Server中的视图或存储过程函数。在下面的例子中,Access查询使用DISTINCTROW。SQL Server使用Transact-SQL DISTINCT命令执行相同的操作。Parse命令允许开发人员孤立并且修改他们的Access查询中的语法问题。
连接你的应用程序
许多Access应用程序是用Microsoft Visual Basic for Applications或Visual Basic for Applications Access用户接口写成的。
使用Visual Basic for Applications作为应用程序开发环境的应用程序能在SQL Server下运行,用Jet ODBC驱动程序。
使用Access用户接口中的窗体和报表的应用程序能使用连接表访问SQL Server。如果你的应用程序要使用连接表,确保所有Access表转移到SQL Server以增强性能。对Access (Jet)和SQL Server的混合体使用连接表创建查询是资源密集的。
移植你的文件-服务器应用程序到客户/服务器模型第一步是确保应用程序能在新数据库上工作。下一步是通过下面的方法为客户/服务器环境优化应用程序:
监听传送到服务器的Transact-SQL语句。
SQL SERVER轮廓是监听Transact-SQL语句怎样被送到数据库的一个有用的工具。如果你在SQL Server上运行没有修改的Access应用程序,你可能会通过使用DAO和Jet/ODBC驱动程序向数据库传送未经优化的Transact-SQL。例如,使用Jet/ODBC驱动程序的DELETE语句来删除1000行将产生1000次到数据库的调用,这将会严重的影响产品数据库的性能。在这个例子中,SQL SERVER轮廓展示了1000个删除语句,允许你使用有Microsoft OLE DB Provider for SQL Server和Microsoft ActiveX Data Objects (ADO)修改应用程序,从而改进应用程序的效率。实现高效索引。
在你确定传送到数据库的Transact-SQL语句的效率以后,你可以使用索引更有效的调整那些语句。索引调整向导(Index Tuning Wizard)允许你查找瓶颈,并且向你提出建议。你的语句并没有被修改,但是由于正确使用索引而使它们的性能提高了。
 
信息推荐
资讯中心 | 电子商务 | 搜索营销 | 设计学院 | 中医养生 | 养生保健 | 节日祝福 | 民俗文化 | 奇闻趣事
建站知识 | 人世百态 | 网站导航 | 传统节日 | 搜索热点 | 星座运势 | 趣闻轶事 | 祝福的话 | 短信大全
© 2023 QicaiSpace.Com