HOW TO:使用 Microsoft Access 升迁向导

文章翻译 文章翻译
文章编号: 325017 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

概要

本文介绍如何使用“Access 2000 升迁向导”将 Microsoft Access 数据库升迁到 Microsoft SQL Server 或 Microsoft 数据引擎 (MSDE)。本文介绍了“升迁向导”、升迁前要检查的内容、设计考虑事项、针对常见升迁问题推荐的问题排查技巧和其他信息资源。

介绍

您可以使用此“升迁向导”将现有 Access 数据库 (.mdb) 转换为客户机/服务器解决方案。此“升迁向导”创建一个新的 SQL Server 数据库结构(包括索引、有效性规则、默认值,以及关系),然后将您的数据复制到新的 SQL Server 数据库中。另外,此“升迁向导”会尝试将您的查询重新创建为 SQL Server 视图和存储过程。

您可以选择只升迁您的数据库结构和数据,或者,在您创建 SQL Server 后端数据库后,您可以选择创建 Access 前端客户端应用程序。“升迁向导”可以用下面两种方法中的任何一种创建前端客户端应用程序:

  • 保留当前的 Access 数据库文件 (.mdb) 然后添加连接到 SQL Server 上升迁表的链接表。

    您现有的窗体、报表和数据访问页将把新链接的表用作其数据源。
  • 创建一个新的 Access 项目文件 (.adp),然后从当前 Access 数据库中复制窗体、报表、数据访问页、宏和模块,接着将此 Access 项目文件连接到 SQL Server 上的升迁表。

    引用本地数据库的复制的窗体、报表和数据访问页经转换后,将通过 ADP 文件到服务器的连接把新升迁的 SQL Server 表、视图和存储过程用作其数据源。引用当前数据库之外的其他数据库的数据访问页在升迁后保持不变。
注意,当您运行“升迁向导”时,该过程并不是十分完美。Access 数据库和 SQL Server 数据库之间存在差异,并且有潜在的不兼容情形。其中包括 SQL 专用术语和数据类型方面的差异。尽管该“向导”可以处理很多这样的差异并且仍可以正确地转换对象,但是它却不能处理所有的差异。因此,在您创建新的数据库和新的客户端应用程序时,可能会遇到一些问题。如果“升迁向导”在升迁过程中遇到了问题,“向导”不会停止升迁过程。“向导”将记录错误然后继续处理下一个对象。在升迁过程完成后,“向导”将显示一个报告。该报告将向您显示此过程的详细信息,其中包括新数据库的名称和大小,运行“向导”期间您作的选择,以及“向导”可能遇到的任何错误。

如想了解关于运行“升迁向导”的更多信息,请按照下列步骤操作:


  1. 单击帮助菜单上的 Microsoft Access 帮助
  2. 在“Office 助手”或“应答向导”中键入升迁向导
  3. 单击搜索以查看返回的主题。
如想了解 Access 语法和 SQL Server 语法之间差异以及“及升迁向导”如何处理这些差异方面的更多信息,请按照下列步骤操作:
  1. 单击帮助菜单上的 Microsoft Access 帮助
  2. 在“Office 助手”或“应答向导”中键入 Comparison of Microsoft Access and SQL Server syntax(Microsoft Access 和 SQL Server 语法比较)。
  3. 单击搜索以查看处理 Microsoft Access 项目次主题。

升迁前要检查的内容

  • 确保有 Access 数据库文件 (.mdb) 的备份副本。您选择用来进行升迁的办法可能会更改您现有应用程序的设计。
  • 确保知道 SQL Server 的名称或您将连接到的运行 MSDE 的计算机的名称。确保知道登录信息。 有关如何安装 MSDE 的其他信息,请访问 MSDN Web 站点上的“Installing MSDE”部分:
    Microsoft Data Engine (MSDE) for Microsoft Visual Studio 6.0:An Alternative to Jet for Building Desktop and Shared Solutions http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnmsde/html/msdeforvs.asp
  • 为了让升迁尽可能顺利,请确保您在要升迁到的 SQL Server 上具有适当的访问权限。至少,您必须具有 CREATE TABLE 权限。如果您想从头构建一个新的数据库,您必须具有 CREATE DATABASE 权限。
  • 为了确保有足够的可用空间,请通过将您的 Microsoft Access 数据库大小乘以二计算一下升迁需要多少磁盘空间。
  • 如果您计划升迁到 SQL Server 2000,则在开始前请安装 Office 2000 SR-1 更新以及 Access 2000 and SQL Server 2000 Readiness 更新。有关获取和安装 Office 2000 SR-1 更新的其他信息,请单击下面的文章号,查看 Microsoft 知识库中相应的文章:
    245025 How to Obtain and Install Office 2000 SR-1/SR1a Update
    如要获取 Access 2000 and SQL Server 2000 Readiness 更新,请访问以下 Microsoft Web 站点:
    Access 2000 and SQL Server 2000 Readiness Update http://office.microsoft.com/downloads/2000/Accsql.aspx

数据库设计考虑事项

  • 您必须从一开始就遵守基于服务器的命名限制。“升迁向导”可以纠正很多常见错误,但不能纠正所有错误。为确保到后端的轻松迁移,请遵守下列 SQL Server 限制:

    • 对于 SQL Server 6.5,名称必须是 30 个字符或更少。对于 SQL Server 7.0,此限止扩展到最多 128 个字符,对于 SQL Server 2000,此限止扩展到 249 个字符。
    • 第一个字符必须是字母或“at”标记 (@)。其他的字符必须是数字、字母、美元符号 ($)、编号标记 (#) 或下划线 (_)。
    • 对于 SQL Server 6.5,不允许有空格。对于 SQL Server 7.0,允许空格,但名称必须用引号 ("") 或方括号 ([]) 括住。
    • 该名称不能是 Transact-SQL 关键字。SQL Server 保留关键字的大写和小写版本。 有关 Transact-SQL 关键字的更多信息,请参见“SQL Server 联机图书”。
  • 此“升迁向导”不转换某些特定项。其他项可以转换,但是在“向导”完成后需要确认。当您使用“升迁向导”时,您必须重新检查对表、视图、窗体和报表做的所有更改。

    特别需要注意的是,在数据库转换时“升迁向导”使用下列规则:

    • 重复列名称将被赋予别名。
    • 日期分隔符将被转换。
    • 布尔值常量转换为整数。
    • 将字符串串联符号从“与”号 (&) 转换为加号 (+)。
    • 通配符将转换为 Transact-SQL 中与之对等的符号。
    • WITH TIES 将添加到包含 ORDER BY 子句的所有 TOP 查询。
    下面的 Access SQL 语法元素不受 MSDE 支持并且将不转换。“升迁向导”将从 SQL 语句中删除这些项:
    • DROP INDEX
    • DISTINCTROW
    • OWNERACCESS
    • UNION 中的表
    • Union 中的 ORDER BY
    • TRANSFORM
    • PARAMETERS
  • “升迁向导”不转换您的 Access 解决方案的代码。直接用于 Access 对象的代码可以继续使用,但是您必须将所有用于表和查询的数据访问对象 (DAO) 转换为 ActiveX 数据访问对象 (ADO) 代码。

    有关 ADO 的概述,请访问下面的 MSDN Web 站点:

    Working with the Data Access Components of an Office Solution http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odeopg/html/deovrworkingwithdataaccesscomponentsofofficesolution.asp
    如想查看使用 ADO 方面的其他参考资料,请访问下面的 MSDN Web 站点:
    Programming in Access Client/Server Solutions http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odeopg/html/deovrprogramminginaccessclientserversolutions.asp

排查升迁问题

  • 不升迁的表。
    • 确保 SQL Server 上的 Model 数据库的默认数据文件大小不大于 1 MB。
    • 尝试只升迁表结构。
  • 尝试升迁到 SQL Server 2000 时出现“溢出”错误消息
  • 不能将 MDE 升迁到 SQL Server 或 MSDE
  • 升迁后组合框或列表框为空有关升迁到 SQL Server 2000 时可能遇到的问题的其他信息,请单击下面的文章编号,查看 Microsoft 知识库中的文章:
    269824 ACC2000:Incompatibility Issues Between Access 2000 Projects and SQL Server 2000

参考

有关升迁方面的其他信息,请访问下列 MSDN Web 站点:
Microsoft Data Engine (MSDE) for Microsoft Visual Studio 6.0:An Alternative to Jet for Building Desktop and Shared Solutions
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnmsde/html/msdeforvs.asp
Upsizing to SQL Server
http://msdn2.microsoft.com/en-us/library/ms952656.aspx
Converting an Access Database with the Upsizing Wizard
http://msdn2.microsoft.com/en-us/library/aa164896(office.10).aspx
有关“Access 2000 升迁工具”白皮书的其他信息,请单击下面的文章编号,查看 Microsoft 知识库中相应的文章:
241743 ACC2000:'Access 2000 Upsizing Tools' White Paper Available in Download Center
有关“Access 2000 升迁向导”的其他信息,请单击下面的文章编号,查看 Microsoft 知识库中相应的文章:
325019 Issues with the Access 2000 Upsizing Wizard

属性

文章编号: 325017 - 最后修改: 2007年5月8日 - 修订: 1.3
这篇文章中的信息适用于:
  • Microsoft Access 2000 标准版
关键字:?
kbhowto kbhowtomaster kbdownload KB325017
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com